C# 十进制到长-始终缺少点分隔符
我想能够转换一个C# 十进制到长-始终缺少点分隔符,c#,type-conversion,C#,Type Conversion,我想能够转换一个 varchar > decimal > long 当dbreader[11]将3319419,13作为varchar保存时 例如: decimal d = Convert.ToDecimal(dbreader[11], CultureInfo.InvariantCulture); 我明白了 当我将其转换为长对象时,我最终得到 long i = 3319419 我想以3319419,1结尾,因为long是整数,所以在long中不能以3319419,1结尾。 尝试
varchar > decimal > long
当dbreader[11]
将3319419,13
作为varchar保存时
例如:
decimal d = Convert.ToDecimal(dbreader[11], CultureInfo.InvariantCulture);
我明白了
当我将其转换为长对象时,我最终得到
long i = 3319419
我想以3319419,1结尾,因为
long
是整数,所以在long
中不能以3319419,1结尾。
尝试改用double
编辑:现在,
double
恰好是一个浮点数。这意味着该类型能够表示的十进制位数不是固定的,而是可变的。因此,如果您想看到特定数量的十进制数字,那么这完全是一个显示问题。因此,为了查看只有一个数字的双变量,请按如下方式将其转换为字符串:string.Format(“{0:00.0}”,my_双变量)代码>长是一个8字节的整数(整数)。如果您需要更高的精度,请使用双精度(8字节十进制)恐怕永远不会long
是系统的同义词。Int64
-一个64位整数值,因此它无法存储您要求的精度。请参见现实检查
3319419,1
长字符不能保留部分数字。1,2,3-不是1,1.1,1.2。这是一个长的定义
所以,不管你想要什么,你都不能在很长的时间内保持分数。要保留小数-请使用可以保留小数的数据类型。a
long
没有任何小数。它是一个整数类型
您可能想使用
double
,或者将其保留为decimal
长是一个8字节的整数(整数),而不是c#开发者我可能错了,但长不是一个整数数据类型吗?您希望整数包含浮点数吗?为了澄清,您希望将数字显示为文本,即“3319419,1”,还是将数字四舍五入到小数点后一位,即3319419.1?
long i = 3319419