为了账号安全,请及时绑定邮箱和手机立即绑定

真的不适合花钱吗?

真的不适合花钱吗?

C#
慕田峪4524236 2019-10-09 16:26:12
我总是在C#中告诉您double类型的变量不适合钱。所有奇怪的事情都可能发生。但是我似乎无法创建一个示例来演示其中的一些问题。谁能提供这样的例子?(编辑;该帖子最初被标记为C#;一些回复涉及的具体细节decimal,因此意味着System.Decimal)。(编辑2:我是专门要求一些C#代码的,所以我不认为这仅与语言无关)
查看完整描述

3 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

非常非常不合适。使用十进制。


double x = 3.65, y = 0.05, z = 3.7;

Console.WriteLine((x + y) == z); // false

(例如,从Jon的页面在这里 -推荐阅读;-p)


查看完整回答
反对 回复 2019-10-09
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

舍入会有效地导致奇数错误。此外,与精确值进行比较非常棘手-您通常需要应用某种epsilon来检查“接近”特定值的实际值。


这是一个具体的例子:


using System;


class Test

{

    static void Main()

    {

        double x = 0.1;

        double y = x + x + x;

        Console.WriteLine(y == 0.3); // Prints False

    }

}


查看完整回答
反对 回复 2019-10-09
  • 3 回答
  • 0 关注
  • 254 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信