提问人:Arpit Srivastava 提问时间:3/12/2023 更新时间:3/13/2023 访问量:156
C# - 将双精度变量限制为小数点后两位 [已关闭]
C# - Restrict double variable to two decimal places [closed]
问:
我正在使用Unity引擎制作游戏。 我正在使用一个双精度变量,并希望它只显示数字到小数点后两位。
public double nos = 0;
例如:如果 nos = 17.2369...; 我希望它显示 nos = 17.23;
P.S.:我不想四舍五入或smt。
如何实现这一目标?
答:
0赞
anjelomerte
3/12/2023
#1
你是对的,字符串格式也会做一些舍入。 这应该可以工作:
double num = 15.345324;
num = Math.Truncate(100 * num) / 100;
// num = 15.34
使用 10 的小数位(此处:100)的幂作为您想要作为因数。
100 -> 2dps
1000 -> 3dps
等。
编辑:以更一般的方式,人们可以像这样做 sth
double num = 12.3456789;
double numOfDecimals = 2;
num = Math.Truncate(Math.Pow(10, numOfDecimals) * num) / Math.Pow(10, numOfDecimals);
评论
0赞
Arpit Srivastava
3/13/2023
好的,谢谢。我在哪里写 2dps 和 3dps 的东西。
0赞
anjelomerte
3/13/2023
请参阅我更新的答案以获取更通用的方法:)
评论