A9VG电玩部落论坛

 找回密码
 注册
搜索
楼主: SugarCoffee

写程序时,金额一般的单位是分,这样发8毛也不难理解了

[复制链接]

精华
0
帖子
17052
威望
0 点
积分
17904 点
种子
55 点
注册时间
2012-7-12
最后登录
2025-2-12
发表于 2022-6-9 11:40  ·  四川 来自手机 | 显示全部楼层
互联网开发流程不太了解,但起码传统软件开发要经历评审,单元测试,集成测试,系统测试等一系列流程,如果你遇到死机bug这种有可能涉及多线程的也就算了,你出现这种点错小数点的,还有啥可说

精华
0
帖子
10660
威望
0 点
积分
10794 点
种子
232 点
注册时间
2013-11-27
最后登录
2025-2-12
发表于 2022-6-9 11:40  ·  上海 | 显示全部楼层
NihiRagnarK 发表于 2022-6-8 21:42
财务报表/分析和实际的个人金融账号是不一样的吧

正常来说应该用整数吧,因为流水要求零误差的

只有需要在JS里进行乘除计算的时候会把浮点转为整数,因为JS的浮点乘除天生有BUG,然而实际项目中都是规避在JS里做运算的。其它情况下无论是ERP、CRM还是电商,都来没见过有要把整数来做金额计算的说法。

精华
0
帖子
235
威望
0 点
积分
1189 点
种子
1507 点
注册时间
2018-10-29
最后登录
2019-3-29
发表于 2022-6-9 11:43  ·  未知 | 显示全部楼层
70后*** 发表于 2022-06-08 19:38
索尼好像不是欠大家80吧……他不补偿也没问题,差价也退了,搞的好像不给这80他就黑心了……人心真的太贪了


就像比如有的明星对外宣传捐了100万,实际只捐了100块,那应该表扬他还是骂他?
发自A9VG iPhone客户端

精华
0
帖子
3443
威望
0 点
积分
3496 点
种子
625 点
注册时间
2013-2-21
最后登录
2025-2-12
发表于 2022-6-9 12:23  ·  上海 | 显示全部楼层
klaus.sang 发表于 2022-6-9 11:40
只有需要在JS里进行乘除计算的时候会把浮点转为整数,因为JS的浮点乘除天生有BUG,然而实际项目中都是规 ...

浮点因为数精度问题会导致很多不可知问题
比如下面代码,结果是不相等
#include <stdio.h>
int main() {
    float q;
    q = 3.0/7.0;
    if (q == 3.0/7.0) printf("Equal\n");
    else printf("Not Equal\n");
    return 0;
}


还有更离谱的
#include <stdio.h>
int main() {
    for(float i=0;i<1.0;i+=0.01)
        printf("value:%f\n",i);
    return 0;
}


输出结果:
value:0.000000
value:0.010000
value:0.020000
value:0.030000
value:0.040000
value:0.050000
value:0.060000
value:0.070000
value:0.080000
value:0.090000
value:0.100000
value:0.110000
value:0.120000
value:0.130000
value:0.140000
value:0.150000
value:0.160000
value:0.170000
value:0.180000
value:0.190000
value:0.200000
value:0.210000
value:0.220000
value:0.230000
value:0.240000
value:0.250000
value:0.260000
value:0.270000
value:0.280000
value:0.290000
value:0.300000
value:0.310000
value:0.320000
value:0.330000
value:0.340000
value:0.350000
value:0.360000
value:0.370000
value:0.380000
value:0.390000
value:0.400000
value:0.410000
value:0.420000
value:0.430000
value:0.440000
value:0.450000
value:0.460000
value:0.470000
value:0.480000
value:0.490000
value:0.500000
value:0.510000
value:0.520000
value:0.530000
value:0.540000
value:0.550000
value:0.560000
value:0.570000
value:0.580000
value:0.590000
value:0.600000
value:0.610000
value:0.620000
value:0.630000
value:0.640000
value:0.650000
value:0.660000
value:0.670000
value:0.680000
value:0.690000
value:0.700000
value:0.710000
value:0.720000
value:0.730000
value:0.740000
value:0.750000
value:0.760000
value:0.770000
value:0.780000
value:0.790000
value:0.800000
value:0.810000
value:0.820000
value:0.830000
value:0.839999
value:0.849999
value:0.859999
value:0.869999
value:0.879999
value:0.889999
value:0.899999
value:0.909999
value:0.919999
value:0.929999
value:0.939999
value:0.949999
value:0.959999
value:0.969999
value:0.979999
value:0.989999
value:0.999999

精华
0
帖子
7184
威望
0 点
积分
8091 点
种子
1717 点
注册时间
2017-8-26
最后登录
2025-2-11
发表于 2022-6-9 13:13  ·  未知 | 显示全部楼层
随便抓个从0开始下班抽空自学的业余都比这做的好,系列22年了连个网页都做的稀烂真的离谱
发自A9VG Android客户端

精华
0
帖子
10660
威望
0 点
积分
10794 点
种子
232 点
注册时间
2013-11-27
最后登录
2025-2-12
发表于 2022-6-9 13:13  ·  上海 | 显示全部楼层
本帖最后由 klaus.sang 于 2022-6-9 13:16 编辑
jocover 发表于 2022-6-9 12:23
浮点因为数精度问题会导致很多不可知问题
比如下面代码,结果是不相等
#include


C我不太清楚,我用C#金额计算时浮点都是用decimal类型,从来不用float,从来没有这个问题,只有前端用JS时遇到过你这个问题。而且float就算没有精度问题,取值上限也太低了,不适合用来做金额相关的计算。

精华
0
帖子
3443
威望
0 点
积分
3496 点
种子
625 点
注册时间
2013-2-21
最后登录
2025-2-12
发表于 2022-6-9 13:32  ·  上海 | 显示全部楼层
klaus.sang 发表于 2022-6-9 13:13
C我不太清楚,我用C#金额计算时浮点都是用decimal类型,从来不用float,从来没有这个问题,只有前端用JS ...

decimal的实现也是用整数类型的,可以参考微软的Decimal.DecCalc.cs和Decimal.cs的源代码

精华
0
帖子
1146
威望
0 点
积分
1183 点
种子
133 点
注册时间
2005-2-25
最后登录
2025-2-12
发表于 2022-6-9 13:40  ·  未知 | 显示全部楼层
《理科高材生们的博弈》
发自A9VG iPhone客户端

精华
0
帖子
6730
威望
0 点
积分
7363 点
种子
2951 点
注册时间
2010-11-30
最后登录
2021-8-25
发表于 2022-6-9 13:41  ·  未知 | 显示全部楼层
一样的
发自A9VG Android客户端
该用户已被禁言

精华
0
帖子
5008
威望
0 点
积分
4946 点
种子
586 点
注册时间
2021-8-15
最后登录
2023-9-24
发表于 2022-6-9 14:28  ·  广东 | 显示全部楼层
0.8应该是测试用的吧?索尼要做好事变成被人骂也是够骚的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2025-2-12 21:49 , Processed in 0.222052 second(s), 18 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部