INT(RAND()*1.5)如何保一位小数

2025-03-04 12:43:33
推荐回答(3个)
回答1:

rand()函数:返回大于等于 0 及小于 1 的均匀分布随机数。

即:0<=rand()<1

所以:0<=RAND()*1.5<1.5

int()函数:将数字向下舍入到最接近的整数。

0<=RAND()*1.5<1.5范围内的整数只有0和1,

所以:INT(RAND()*1.5)只会返回2个值,

  1. 当0<=RAND()*1.5时,INT(RAND()*1.5)结果为0;

  2. 当0

看你公式思路,是想产生1个0~<=1.5的一位小数吧?

有3种方式可以满足要求:

1.公式法

ROUND(RAND()*(1.5-0),1)

其中:0<=RAND()*(1.5-0)<1.5,

ROUND()函数:按指定位数对数值进行四舍五入。

0<=RAND()*(1.5-0)<1.5经四舍五入后,

0<=ROUND(RAND()*(1.5-0),1)<=1.5

但是,当RAND()*(1.5-0)=0或1时,而“单元格格式”设置为“常规”时,结果显示为0或1(整数)

用函数TEXT()对RAND()*(1.5-0)进行处理,

TEXT(ROUND(RAND()*(1.5-0),1),"0.0"),

这样就得到了0.0~1.5之间的一位小数(文本格式),如需转换为“数值”

方法:VALUE(TEXT(ROUND(RAND()*(1.5-0),1),"0.0"))

或:TEXT(ROUND(RAND()*(1.5-0),1),"0.0")+0

2.将"单元格格式”设置为“数值”,一位小数


3.通过工具条设置

此方法本身就是基于四舍五入法,所以公式可为:RAND()*(1.5-0),此方法只是显示为一位小数,实际值未变化,如:RAND()*(1.5-0)=0.12,显示为0.1,如果参与后续计算,仍然是0.12。

前面2种方法显示值即为最终值。

综上所述:

  1. 纯公式法:

    TEXT(ROUND(RAND()*(1.5-0),1)

或:VALUE(TEXT(ROUND(RAND()*(1.5-0),1),"0.0"))

或:TEXT(ROUND(RAND()*(1.5-0),1),"0.0")+0

2.简单(公式)方法:“RAND()*(1.5-0)”+工具条设置

回答2:

看函数的名字,好像是C语言的程序?
int(rand()*15)/10.0
可以得到0.0~1.4之间的随机数,以%g或%.1f的格式输出。

回答3:

=INT(RAND()*1.5)/10
或者
=RAUND(RAND()*1.5,1)