gpt4 book ai didi

C# 为什么 string.format 将浮点值四舍五入到最接近的第 10 位?

转载 作者:太空宇宙 更新时间:2023-11-03 22:42:52 24 4
gpt4 key购买 nike

格式化后的数字向上舍入到最接近的第 10 个值

var testVal = Convert.ToSingle("10963798");
var formattedVal = string.Format("{0:n0}", testVal);

输出: 10,963,800

我怎样才能避免这种围捕?

最佳答案

ToSingle 返回单精度 float,它没有那种精度(通常只有 7 位十进制数字)。因此,Format 假定最后一位数字不精确,并将其四舍五入为 0。

改用 ToDouble,它返回一个 double

或者,因为您没有使用任何小数部分,所以只需使用 ToInt32

关于C# 为什么 string.format 将浮点值四舍五入到最接近的第 10 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51423773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com