Java 为啥不提供decimal
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 为啥不提供decimal相关的知识,希望对你有一定的参考价值。
参考技术A Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。BigDecimal一共有4个构造方法:
BigDecimal(int) 创建一个具有参数所指定整数值的对象。
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。
BigDecimal(long) 创建一个具有参数所指定长整数值的对象。
BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。追问
谢谢答复。可是我想知道为什么不提供像int、double之类的基本类型,可以用 + - * / 可以直接操作。用BigDecimal的方法操作实在不自然,尤其是复杂的计算表达式。像C#中就有decimal作为基本类型,非常好用。我不知道Java已经发展到这么高了,为什么不提供精确数据的decimal基本数据类型?
谢谢答复。可是我想知道为什么不提供像int、double之类的基本类型,可以用 + - * / 可以直接操作。用BigDecimal的方法操作实在不自然,尤其是复杂的计算表达式。像C#中就有decimal作为基本类型,非常好用。我不知道Java已经发展到这么高了,为什么不提供精确数据的decimal基本数据类型?
追答你要进行+-*/操作,先操作,再转换成decimal
参考技术B 你指的是BigDecimal啊,java里面有的。追问谢谢答复。可是我想知道为什么不提供像int、double之类的基本类型,可以用 + - * / 可以直接操作。用BigDecimal的方法操作实在不自然,尤其是复杂的计算表达式。像C#中就有decimal作为基本类型,非常好用。我不知道Java已经发展到这么高了,为什么不提供精确数据的decimal基本数据类型?
追答Java有float和double,但是数据有边界,如果碰到更大的数据,就只能用bigdecimal了。这是他们的思路,没有什么为什么,希望你了解了。
Decimal类型的字段为啥不能为Null
参考技术A 数据库中最好不要有null,最好设置默认为0或者空字符,这是基本的数据库常识本回答被提问者采纳以上是关于Java 为啥不提供decimal的主要内容,如果未能解决你的问题,请参考以下文章