时间:: string to ulong conversion keeping precision

标签 c#

在 C# 中将字符串转换/解析为 ulong 并保持精度的最佳方法是什么?
直接转换是不可能的,并且 Convert 类实用程序不提供 ulong 转换,
所以我使用了一个中间十进制变量,但我失去了精度。

decimal d  = Decimal.Parse("1.0316584"));
Console.Write(d) // displays 1.0316584
ulong u = (ulong)d;
Console.Write(u) // displays 1 , precision is lost

我第一次尝试使用长解析器,但被淘汰了:

long l  = Int64.Parse("1.0316584")); // throws System.FormatException

编辑:
好的,对不起,我的错:我的问题很糟糕。 “long”在 C# 中确实是一个整数我对其他以前使用的语言感到困惑。另外,我不得不使用 ulong,因为这是我正在使用的第三方代码请求。所以答案中建议的乘数确实是可行的方法

最佳答案

ulong 是一个整数类型,对于小数/小数值永远不能有任何精度。

关于时间:: string to ulong conversion keeping precision,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8157521/

相关文章:

c# - 从 JWT 验证 User.Identity

c# - 如何通过匹配键从字符串中获取值?

C# 字符串表现得像 char 数组

c# - .Net 中的 SQL Server "in"等效项

c# - 如何以编程方式编辑 .png?

c# - .Net 中的负载测试应该遵循哪种方式?

c# - 在多线程服务中监听的更好方法是什么?

c# - C#中通过字符串查找控件的属性

c# - 在存储库模式中加载子记录

c# - 获取列表中的下一个元素