基本数字类型
类型介绍:
int:
int 数据类型是32位、有符号的以二进制补码表示的整数;
最小值是 -2,147,483,648(-2^31);
最大值是 2,147,483,647(2^31 - 1);
一般地整型变量默认为 int 类型;
默认值是 0 ;
初始化 int i=3; int i=ZmUtil.toInt(3);
对应可空类型 NullableInt;
可空类型初始化 NullableInt i=3; NullableInt i=ZmUtil.toNullableInt(3);
long 数据类型是 64 位、有符号的以二进制补码表示的整数;
最小值是 -9,223,372,036,854,775,808(-2^63);
最大值是 9,223,372,036,854,775,807(2^63 -1);
这种类型主要使用在需要比较大整数的系统上;
默认值是 0L;
初始化 int long=3L; int long=ZmUtil.toLong(3L);
对应可空类型 NullableLong;
可空类型初始化 NullableLong i=3L; NullableLong i=ZmUtil.toNullableLong(3L);
float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
float 在储存大型浮点数组的时候可节省内存空间;
默认值是 0.0f;
浮点数不能用来表示精确的值,如货币;
初始化 float long=3f; float long=ZmUtil.toFloat(3f);
对应可空类型 NullableFloat;
可空类型初始化 NullableFloat i=3f; NullableFloat i=ZmUtil.toNullableFloat(3f);
double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数;
浮点数的默认类型为 double 类型;
double类型同样不能表示精确的值,如货币;
默认值是 0.0;
初始化 double long=3; double long=ZmUtil.toDouble(3);
对应可空类型 NullableDouble;
可空类型初始化 NullableDouble i=3; NullableDouble i=ZmUtil.toNullableDouble(3);
decimal 高精度的数据类型;
高精度的数据类型,可以表示货币等对精度比较重视的内容
默认值是 0.0;
初始化 decimal i=ZmUtil.toDecimal(3);
对应可空类型 NullableDecimal;
可空类型初始化 NullableDecimal i=ZmUtil.toNullableDecimal(3);
注意 decimal 翻译为java代码时候会翻译成BigDecimal,不能直接初始化为数字 和+ - * / 符号
如下不支持翻译成java
NullableDecimal i=3;
decimal j=3;
i=i*j;
等
支持的请参见下面示例testNullableDecimal
成员函数:
add
两个数字类型相加 同+
参数:
| 名称 | 类型 | 说明 |
| -------- | -----: | :----: |
| augend| Number | 被加数 |
返回值:
返回当前类型
subtract
两个数字类型相减 同-
参数:
| 名称 | 类型 | 说明 |
| -------- | -----: | :----: |
| subtrahend| Number | 减数 |
返回值:
返回当前类型
multiply 同*
两个数字类型相乘
参数:
| 名称 | 类型 | 说明 |
| -------- | -----: | :----: |
| multiplicand| Number | 被乘数 |
返回值:
返回当前类型
divide 同/
两个数字类型相除,除不尽时候保留小数位
参数:
| 名称 | 类型 | 说明 |
| -------- | -----: | :----: |
| divisor| Number | 除数 |
| scale| Int | 小数位数 可选 如果只传2个参数 第二个参数为roundingMode |
| roundingMode| Int | 舍入模式 4为四舍五入可选 |
返回值:
返回当前类型
相关函数:
ZmUtil.compareTo(resultadd,x) 比较大小
ZmUtil.numberFormat(result,0); 格式化为字符串
ZmUtil.to类型(x) 类型初始化 相当于new 类型
示例:
testInt
ZmScript
public ZmHash testInt()
{
ZmHash log=new ZmHash();
int i=2;
log.Add("初始i值为:",i);
i=i+3;
log.Add("加3后i值为:",i);
i=i*2;
log.Add("乘以2后i值为:",i);
i=i/5;
log.Add("除以5后i值为:",i);
if(i==2)
{
log.Add("status","ok");
}
else
{
log.Add("status","error");
}
return log;
}
结果:
json
"初始i值为:":2,
"加3后i值为:":5,
"乘以2后i值为:":10,
"除以5后i值为:":2,
"status":"ok"
}
testFloat
ZmScript
public ZmHash testFloat()
{
ZmHash log=new ZmHash();
NullableFloat i=ZmUtil.toNullableFloat(2F);
log.Add("初始i值为:",i);
NullableFloat j=ZmUtil.toNullableFloat(3F);
NullableFloat x=i.add(j);
log.Add("加3后x值为:",x);
NullableFloat xsubtract=x.subtract(j);
log.Add("减3后xsubtract值为:",xsubtract);
NullableFloat xmultiply=xsubtract.multiply(i);
log.Add("i乘以xsubtract值为:",xmultiply);
NullableFloat xdivide=xmultiply.divide(i);
log.Add("xmultiply除以i值为:",xdivide);
NullableFloat resultadd=xdivide.add(j);
NullableFloat pi=ZmUtil.toNullableFloat(3.1415926F);
String fixed2=ZmUtil.numberFormat(pi,2);
log.Add("3.1415926格式化为两位小数为:",fixed2);
String fixed3=ZmUtil.numberFormat(pi,3);
log.Add("3.1415926格式化为三位小数为:",fixed3);
String fixed0=ZmUtil.numberFormat(pi,0);
log.Add("3.1415926格式化为整数为:",fixed0);
//比较大小
int result=ZmUtil.compareTo(resultadd,x);
if(result==0)
{
log.Add("status","ok");
}
else
{
log.Add("status","error");
}
return log;
}
结果:
json
"初始i值为:":2,
"加3后x值为:":5,
"status":"ok"
}
testLong
ZmScript
public ZmHash testLong()
{
ZmHash log=new ZmHash();
NullableLong i=ZmUtil.toNullableLong(2L);
log.Add("初始i值为:",i);
long j=ZmUtil.toLong(3L);
log.Add("初始j值为:",j);
i=i+j;
log.Add("加3后i值为:",i);
long x=2L;
i=i*x;
log.Add("乘以2后i值为:",i);
i=i/5L;
log.Add("除以5后i值为:",i);
if(i==2)
{
log.Add("status","ok");
}
else
{
log.Add("status","error");
}
return log;
}
结果:
json
"初始i值为:":2,
"初始j值为:":3,
"加3后i值为:":5,
"乘以2后i值为:":10,
"除以5后i值为:":2,
"status":"ok"
}
testNullableDecimal
ZmScript
public ZmHash testNullableDecimal()
{
ZmHash log=new ZmHash();
NullableDecimal i=ZmUtil.toNullableDecimal(2M);
log.Add("初始i值为:",i);
NullableDecimal j=ZmUtil.toNullableDecimal(3M);
NullableDecimal x=i.add(j);
log.Add("加3后x值为:",x);
NullableDecimal xsubtract=x.subtract(j);
NullableDecimal xmultiply=xsubtract.multiply(i);
NullableDecimal xdivide=xmultiply.divide(i,2,4);
NullableDecimal result=xdivide.add(j);
String format=ZmUtil.numberFormat(result,0);
if (StringUtil.Equal(format,"5" ))
{
log.Add("status","ok");
}
else
{
log.Add("status","error");
}
return log;
}
结果:
json
"初始i值为:":2,
"加3后x值为:":5,
"status":"ok"
}
testDouble
ZmScript
public ZmHash testDouble()
{
ZmHash log=new ZmHash();
NullableDouble i=ZmUtil.toNullableDouble(2);
log.Add("初始i值为:",i);
double j=ZmUtil.toDouble(3);
log.Add("初始j值为:",j);
i=i+j;
log.Add("加3后i值为:",i);
NullableInt myNullInt=ZmUtil.toNullableInt(2);
i=i*myNullInt;
log.Add("乘以2后i值为:",i);
int myInt=ZmUtil.toInt(5);
i=i/myInt;
log.Add("除以5后i值为:",i);
if(i==2)
{
log.Add("status","ok");
}
else
{
log.Add("status","error");
}
return log;
}
结果:
json
"初始i值为:":2,
"初始j值为:":3,
"加3后i值为:":5,
"乘以2后i值为:":10,
"除以5后i值为:":2,
"status":"ok"
}
示例视频包含的内容
基本数字类型的基本操作
加减乘除
比较大小 格式化等