惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
博客园 - 【当耐特】
博客园_首页
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
量子位
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
IT之家
IT之家
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
V
Visual Studio Blog
F
Fortinet All Blogs
Martin Fowler
Martin Fowler

博客园 - 老飞飞

sql查找带百分号的数据 Jquery - 添加属性、添加class、添加Css 加载数据提示Min(5) must be less than or equal to max(-1) in Range object C# 中文件Stream转换成byte[]时候的一个注意事项 sql server的一个BUG? Js中日期处理的问题 SQL的经验教训 excle 分数排名 RFC的表结构前面字段修改之后,持续执行的外围代码需要重启 找到子表中超过500条记录的数据 找到了一个动态调整css的方法 Sql必会-求用户连续登录天数 easyui gridview中toolbar中按钮的显示与否 列轉行,再行轉列 excel 2024的一个奇怪问题 乱七八糟的东西 [转]the collation conflict between "chinese_prc_ci_as" and "sql_latin1_general_cp1_ci_as" in the equal to operation Json中的字串为json文字的返回方法 关于C#中目录的一个小问题 A页面即时传值给B页面 NPOI设定某个格子的样式
要听老人言,金钱用decimal
老飞飞 · 2025-11-14 · via 博客园 - 老飞飞

 1 string a = "4546311.670";
 2 string b = "318241.810";
 3 WriteText("float:");
 4 WriteText(a);
 5 WriteText("+");
 6 WriteText(b);
 7 float fa = Convert.ToSingle(a);
 8 float fb = Convert.ToSingle(b);
 9 WriteText("=");
10 float fc = fa + fb;
11 WriteText(string.Format("{0:0.00}",fc));
12 decimal da = Convert.ToDecimal(a);
13 decimal db = Convert.ToDecimal(b);
14 WriteText("\n\r");
15 WriteText("decimal:");
16 WriteText(a);
17 WriteText("+");
18 WriteText(b);
19 WriteText("=");
20 WriteText((da + db).ToString());

View Code

以上放到.ashx中,直接输出如下:

float:4546311.670+318241.810=4864554.00 decimal:4546311.670+318241.810=4864553.480

1)float真的会有误差
2)尤其奇怪的点是:单步执行中可以看到的fc=4864553.50 可是输出的时候{0:N2} {0:0.00}都无法输出4864553.50.