将数据库中的long类型转换为varchar类型

本文关键字:varchar 类型 类型转换 long 数据库 | 更新日期: 2023-09-27 18:17:05

我在数据库中有数字,例如733.25,它在mssql中存储为varchar。

数据读取器将其读取为字符串对象"733.25"

如何将其转换为long (int64) ?

Int64。解析返回错误

(长)转换。ToDecimal返回"73325"

谢谢

将数据库中的long类型转换为varchar类型

  1. 在。net中确保使用InvariantCulture

    decimal d = Convert.ToDecimal("733.25", CultureInfo.InvariantCulture);
    

    更多信息:MSDN: Using InvariantCulture属性

  2. 在T-SQL中,你可以在你的查询中强制转换。

    SELECT cast('733.25' as float)
    

    更多信息:MSDN: CAST and CONVERT (Transact-SQL)

结果都是733.25。

希望对您有所帮助

可以解析如下

double.Parse(Value);

我想你是在写这样的代码:

string val = "733.25";
long longVal = (long)decimal.Parse(val);
// longVal will now contain the value you want

在转换为long之前,您必须将值解析为小数(其结果是去掉小数点)。注意,这样做会失去精度,这就是为什么需要显式转换。

可以对SQL语句使用Cast和Convert T-SQL。

SELECT CAST(CONVERT(decimal, strColumn1) AS bigint) From TableName