C#整数转带小数字符串格式化问题:将23454转为234.54
解决整数转两位小数格式的问题
你遇到的核心问题是整数除法会自动舍去小数部分:因为Amount是整数类型,100也是整数,Amount / 100会执行整数除法,结果是234而非234.54,所以后续的格式化自然无法显示缺失的小数部分。
下面是几种能正确得到234.54结果的写法:
使用浮点除法(将除数改为
100.0,让运算结果变为浮点型):int Amount = 23454; string result = String.Format("{0:0.00}", Amount / 100.0); // 输出:234.54转换为decimal类型运算(适合货币等需要高精度的场景):
int Amount = 23454; string result = String.Format("{0:0.00}", (decimal)Amount / 100); // 输出:234.54直接使用ToString格式化(结合浮点运算):
int Amount = 23454; string result = (Amount / 100.0).ToString("0.00", CultureInfo.CreateSpecificCulture("en-GB")); // 输出:234.54
简单总结:只要确保除法运算的结果是带有小数的浮点/decimal类型,后续的格式化就能正确保留两位小数啦。
内容的提问来源于stack exchange,提问作者onlyo
相关产品推荐
相关产品推荐

