c# - 在 C# 中设置十进制数的精度

标签 c# decimal

是否可以全局更改 C# 中小数的精度?

在 TypeScript 中,我使用框架 Decimal.js ,我可以在其中全局更改 Decimal 运算的精度,如下所示 Decimal.set({ precision: 15})。这意味着该操作将最多返回 15 位小数。

  • TypeScript:操作 5/3 返回 1.66666666666667
  • C#操作5m/3m返回1.6666666666666666666666666667

C# 中的 Decimal 值是否有类似的设置?我怎样才能在 C# 中完成这个任务?

最佳答案

这并不完全是您所要求的,但您可以在全局范围内初始化 NumberFormatInfo 对象并使用它来格式化小数。这是一个例子:

using System.Globalization;

NumberFormatInfo setPrecision = new NumberFormatInfo();    
setPrecision.NumberDecimalDigits = 2;    
decimal test = 1.22223;

Console.Write(test.ToString("N", setPrecision)); //Should write 1.23

setPrecision.NumberDecimalDigits = 3;
test = 5m/3m;

Console.Write(test.ToString("N", setPrecision)); //Should write 1.667

MSDN链接:https://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo(v=vs.110).aspx

NumberDecimalDigits 用法示例:https://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.numberdecimaldigits(v=vs.110).aspx

关于c# - 在 C# 中设置十进制数的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48212254/

相关文章:

java - Android edittext - 不允许单独使用小数点分隔符

c# - 在 View 模型中解析小数

javascript - 正则表达式以千、百万等为单位添加逗号(但避免在小数点后添加)Javascript

c# - 在需要执行 C# 应用程序的 Ubuntu 上运行的 Node 服务器 - 如何?

c# - List<T>.Contains() 是线程安全调用 - C#

c# - WPF:如何在 DockPanel 中拉伸(stretch)中间的 child ?

java - 打印带有更多小数点的 float

c# - 获取手动抛出异常的消息

c# - 使用控制台 writeline c#

定点的 Python 十进制上下文