UFDouble基本⽅法
UFDouble常⽤⽅法
UFDouble
NC开发封装的数据类型
基本⽅法
四则运算
add() 参数有UFDouble、double两种,计算UFDouble与另⼀个UFDouble数值之和或与double类型的数值之和
sub() 同上,此处为减法
mulity() 同上,此处为乘法
div() 同上,除法
求余数
mod() 参数为UFDouble类型
数组求和
sum() 参数为double[]数组,计算数组元素之和
类型转换
toDouble() 转换为Double类型的量
toString() 转换成String字符串
toBigDecimal() 转换成BigDecimal类型的量
精度控制
setScale() 设置精度,有两个参数,前者是保留⼩数的位数,后者是四舍五⼊之类的标识;
例如: new UFDouble().setScale(1, UFDouble.ROUND_HALF_UP); 保留⼩数点后1位,并“四舍五⼊”
获取数据
byteValue() 获取当前UFDouble的byteValue
intValue() 获取当前UFDouble数值的int整形部分
doubleValue() 获取doublevalue
floatValue() 获取floatvalue
getDouble()bigdecimal除法保留小数
代码演⽰
st;
import java.math.BigDecimal;
import nc.vo.pub.lang.UFDouble;
import nc.vo.pubapp.pattern.data.ValueUtils;
/**
/
**
* UFDouble 常⽤⽅法
* @date 2017-11-06
* @author niaonao
*
*/
public class TestUFDouble {
@SuppressWarnings("unused")
public static void main(String[] args){
UFDouble UFDOUBLE_30 = UFDouble(30);
UFDouble UFDOUBLE_40 = UFDouble(40);
UFDouble UFDOUBLE_50 = UFDouble(50);
UFDouble UFDOUBLE_100 = UFDouble(100);
UFDouble UFDOUBLE_500 = UFDouble(500);
UFDouble uf_add;
UFDouble uf_sub;
UFDouble uf_mul;
UFDouble uf_div;
UFDouble uf_sum;
/**
* 基本运算法则
*/
/
/UFDouble + UFDouble及UFDouble + double
uf_add = UFDOUBLE_30.add(UFDOUBLE_40); /*70.00000000*/
uf_add = uf_add.add(20); /*90.00000000*/
//UFDouble - UFDouble及UFDouble - double
uf_sub = uf_add.sub(UFDOUBLE_50); /*40.00000000*/
uf_sub = uf_sub.sub(10); /*30.00000000*/
//UFDouble * UFDouble及UFDouble * double
uf_mul = uf_sub.multiply(UFDOUBLE_100); /*3000.00000000*/
uf_mul = uf_mul.multiply(1); /*3000.00000000*/
//UFDouble / UFDouble及UFDouble / double
uf_div = uf_mul.div(UFDOUBLE_500); /*6.00000000*/
uf_div = uf_div.div(6); /*1.00000000*/
/**
* 数组求和
*/
double[] double_array =
new double[]{1,2,3,4,5}; /*1.0, 2.0, 3.0, 4.0, 5.0*/
uf_sum = UFDouble.sum(double_array); /*15.00000000*/
/**
* 数值⽐较
*/
boolean flag =
( uf_sumpareTo( UFDOUBLE_30.div(2) ) == 0) ? true : false;
if (!flag) return;
/**
* 类型转换及精度控制
* UFDouble默认精度为8位
*/
UFDouble uf_value = UFDouble(1234.56789); //1234.56789000
int byteValue = uf_value.byteValue(); //-46
int intValue = uf_value.intValue(); //1234
double doubleValue = uf_value.doubleValue(); //1234.456789
float floatValue = uf_value.floatValue(); //1234.456789
Double DouValue = Double(); //1234.456789
Double douValue = Double(); //1234.456789
//求余数(1234.56789000 / 30)
//求余数(1234.56789000 / 30)
UFDouble uf_mod = d(UFDOUBLE_30); //4.56789000 //精度控制
UFDouble scaleValue1and1 = uf_value.setScale(1, 1); //1234.5
UFDouble scaleValue1and2 = uf_value.setScale(1, 2); //1234.6
UFDouble scaleValue1and3 = uf_value.setScale(1, 3); //1234.5
UFDouble scaleValue1and4 = uf_value.setScale(1, 4); //1234.6
UFDouble scaleValue1and5 = uf_value.setScale(1, 5); //1234.6
UFDouble scaleValue2and1 = uf_value.setScale(2, 1); //1234.56 UFDouble scaleValue3and1 = uf_v
alue.setScale(3, 1); //1234.567 BigDecimal bjgValue = BigDecimal(); //1234.56789000 String stringValue = String(); //1234.56789000
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论