我使用以下方法随机生成一个十进制数:
private function randomNumber(min:Number, max:Number):Number
{
return Math.random() * (max - min) + min;
}
它会得出类似于1.34235346435的结果。
如何将其转换为1.3。
我使用以下方法随机生成一个十进制数:
private function randomNumber(min:Number, max:Number):Number
{
return Math.random() * (max - min) + min;
}
它会得出类似于1.34235346435的结果。
如何将其转换为1.3。
你可以像这样保留一位小数进行四舍五入:
var newValue:Number = Math.round(oldValue * 10)/10
或者像这样任意数量的小数位:
function round2(num:Number, decimals:int):Number
{
var m:int = Math.pow(10, decimals);
return Math.round(num * m) / m;
}
trace(round2(1.3231321321, 3)); //1.323
只需使用 .toFixed 或 .toPrecision 方法,不必复杂化(请注意,数字将变成字符串,因此您需要将其分配给字符串或将其转换回数字)。
例如:
var numb:Number = 4.3265891;
var newnumb;
newnumb=numb.toFixed(2);//rounds to two decimal places, can be any number up to 20
trace(newnumb);//traces 4.33
newnumb=numb.toPrecision(3);//the 3 means round to the first 3 numbers, can be any number from 1 to 20
trace(newnumb);//traces 4.33
var myNumber:Number = 3.553366582;
myNumber = (( myNumber * 100 + 0.5) >> 0) / 100;
//trace = 3.55
var myNumber:Number = 3.557366582;
myNumber = (( myNumber * 100 + 0.5) >> 0) / 100;
//trace = 3.56
请使用以下代码:
return Math.Round((Math.random() * (max - min) + min),1);
其中,.1将会四舍五入至小数点后一位。
如果需要保留两位小数,请使用以下代码:
return Math.Round((Math.random() * (max - min) + min),2);
希望这能对您有所帮助。
Math.round()
的工作方式。它只需要一个参数。 - Jonatan Hedborg