奇思妙想 · 2024年 3月 29日 0

哪些编程语言在用Decimal类型?

62 次浏览

MySQL/C#/Java/Python/Ruby/VB.Net均有提供decimal类型(或类似类型)。

  • MySQL/C#/VB.Net的decimal类型有大小限制,同样有精度限制。
  • Java提供BigDecimal可以比float或double有更高有效位,但实际上依然可能丢失精度。
  • Python的Decimal也可以比普通浮点数更高精度,依然有精度限制(默认28位)。
  • Ruby的BigDecimal类提供了任意精度的十进制数运算能力。
  • JS没有decimal类型,它提供的是Number类型,本质是64位的IEEE双精度浮点数,也存在精度问题。

为了避免精度丢失,可选的方案依然是用字符串模拟浮点数或整数。