将数据库中的long类型转换为varchar类型
本文关键字:varchar 类型 类型转换 long 数据库 | 更新日期: 2023-09-27 18:17:05
我在数据库中有数字,例如733.25,它在mssql中存储为varchar。
数据读取器将其读取为字符串对象"733.25"
如何将其转换为long (int64) ?
Int64。解析返回错误
(长)转换。ToDecimal返回"73325"
谢谢
-
在。net中确保使用
InvariantCulture
。decimal d = Convert.ToDecimal("733.25", CultureInfo.InvariantCulture);
更多信息:MSDN: Using InvariantCulture属性
-
在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