根据此处的图表,Java中与C#等效的数据类型Decimal为BigDecimal。
真的是这样吗 “大”序言是怎么回事?Java中似乎没有“ SmallDecimal”或“ LittleDecimal”(更不用说“ MediumSizedDecimal”)了。
不过,我必须说,这张图表是我在该主题上发现的最清楚的东西。
是的-这是相应的类型。
因为您在C#之后使用Java,所以不要惊讶于发现这样的细微差别-或在没有简单的方法来执行“容易”的C#工作时感到不高兴。我想到的第一件事是int&int?-在Java中,您只需使用int和Integer。
C#具有追赶Java的奢望,因此许多(我主观上认为)错误的决定已得到解决/简化。此外,C#由Andres Hejlsberg(可以说是最好的编程语言设计师之一)设计,并且与Java不定期进行“更新”(您可能见证了自2000年以来添加到C#的所有内容-完整列表),这对C#有所帮助。
真的是这样吗
它们相似但不相同。更具体地说:Java版本可以代表C#版本可以代表的每个值,但事实并非如此。
“大”序言是怎么回事?
JavaBigDecimal可以具有任意多的精度,因此可以任意大。如果您想制作BigDecimal一千个精度的表,那就继续吧。
BigDecimal
相比之下,C#decimal具有固定的大小。它占用128位,并为您提供28位小数位精度。
decimal
更准确地说:这两种类型都为您提供表格的数字
+/- someInteger / 10 ^ someExponent
在C#中,someInteger是96位无符号整数,并且someExponent是0到28之间的整数。
someInteger
someExponent
在Java中,someInteger具有任意大小,并且someExponent是有符号的32位整数。