decimal 在JAVA里怎么表示?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了decimal 在JAVA里怎么表示?相关的知识,希望对你有一定的参考价值。
decimal在java中的用BigDecimal表示的。BigDecimal:不可变的、任意精度的有符号十进制数。
BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。
如果为零或正数,则标度是小数点后的位数。
如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂。
因此,BigDecimal 表示的数值是 (unscaledValue × 10-scale)。
BigDecimal 类提供以下操作:算术、标度操作、舍入、比较、哈希算法和格式转换。 参考技术A double或者float如果要控制小数点,看看格式化类哈。本回答被提问者采纳
SQLServer中decimal 类型的问题
如果一张表里有两个字段 id 和 num , id 是varchar ,num 是decimal
insert into table (id,num) value ('123','')
报 服务器: 消息 8114,级别 16,状态 5,行 1
将数据类型 varchar 转换为 numeric 时出错。
如果我num字段要是空值要怎么插入?
字段不确定有没有值,有时候有,有时候没有
to 数据库强者:不能写死
我前面没说清楚,我想知道是有没有在sql里可以判断一下
现在要在程序里改动太麻烦,sql相对工作量少一点
所以在转换之前需要对原始数据进行判断,如果是空字符串就转为0或null.
参考代码:
declare @num decimal(8,2)
declare @tmp varchar(10)
set @tmp='234.567'
if @tmp=''
set @num=null
--或者set @num=0
else
set @num=@tmp
insert into table(id,num) values('123',@num) 参考技术A insert into table (id,num) value ('123, null) 使用这样插入数据就不会报错吧 参考技术B 发站内信给我!
我都被你搞糊涂了!本回答被提问者采纳
以上是关于decimal 在JAVA里怎么表示?的主要内容,如果未能解决你的问题,请参考以下文章