Actionscript 3 有没有办法修改数字类
在clasic windows计算器中,数字由逗号分隔,如:4,5 我希望在flash中使用相同的版本,但是: 编号(“4,5”)//输出:NaN 有没有办法修改Number类以获得此结果 数字(“4,5”)//输出:4.5 数字(“4.5”)//输出:4.5 另外,带空格的字符串也可以被视为数字 跟踪(编号(“10000”)//输出:10000 跟踪(编号(“10000”)//输出:NaN 关于可以固定的数字的另一个示例: 跟踪(4.3-1.1)//输出3.19999999997Actionscript 3 有没有办法修改数字类,actionscript-3,Actionscript 3,在clasic windows计算器中,数字由逗号分隔,如:4,5 我希望在flash中使用相同的版本,但是: 编号(“4,5”)//输出:NaN 有没有办法修改Number类以获得此结果 数字(“4,5”)//输出:4.5 数字(“4.5”)//输出:4.5 另外,带空格的字符串也可以被视为数字 跟踪(编号(“10000”)//输出:10000 跟踪(编号(“10000”)//输出:NaN 关于可以固定的数字的另一个示例: 跟踪(4.3-1.1)//输出3.19999999997 trace(
trace(Number(4.3-1.1).toFixed(1))//输出:3.2不要使用Number,而是使用函数并将值发送给它,如下所示
function convertNumber(var:String):Number
{
var arr:Array;
arr = var.split(",");
if(arr.length >0)
{
var sendStr:String = arr[0] + "." + arr[1];
return Number(sendStr);
}
arr = var.split(" ");
if(arr.length >0)
{
var sendStr:String = arr[0] + arr[1];
return Number(sendStr);
}
return Number(var)
}
使用convertNumber(4,5)将输出作为4.5而不是使用Number,使用函数并将值发送给它,如下所示
function convertNumber(var:String):Number
{
var arr:Array;
arr = var.split(",");
if(arr.length >0)
{
var sendStr:String = arr[0] + "." + arr[1];
return Number(sendStr);
}
arr = var.split(" ");
if(arr.length >0)
{
var sendStr:String = arr[0] + arr[1];
return Number(sendStr);
}
return Number(var)
}
使用convertNumber(4,5)将输出为4.5如果数字始终作为字符串提供,为什么不将该字符串中的所有
,
替换为
?是的,现在我有两个函数用于将字符串转换为数字,反之亦然,但我认为更好的方法是修改数字类。@Orien您不能修改或扩展数字类,因为它是最终的。我建议编写一些实用程序/助手工厂类,用于从字符串输入生成数字,并根据需要在其中实现逻辑。或者您可以编写自己的数字类并定义一个类似“toNumber”的方法@Orien修改内置类从来都不是一个好主意。@Orien计算机就是这样工作的。IEEE 754的精度有限,不能包含所有数字(基本上说)。互联网上有几十个关于这个的问题。如果数字总是以字符串形式提供,为什么不将该字符串中的所有,
替换为,
?是的,是的,现在我有两个函数可以将字符串转换为数字,反之亦然,但我认为更好的方法是修改数字类。@Orien您不能修改或扩展数字类,因为它是最终的。我建议编写一些实用程序/助手工厂类,用于从字符串输入生成数字,并根据需要在其中实现逻辑。或者您可以编写自己的数字类并定义一个类似“toNumber”的方法@Orien修改内置类从来都不是一个好主意。@Orien计算机就是这样工作的。IEEE 754的精度有限,不能包含所有数字(基本上说)。互联网上有很多关于这方面的问题。