是否可以全局更改 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/