一、String转Number方式
在Javascript中,有多种方式从String转变为Number。最普遍且最简单的方式是使用Number()函数:
let str = "123"; let num1 = Number(str); console.log(num1); // Output: 123
另外,可以使用parseInt()和parseFloat()函数将String转变为数值。这两个函数都接受解析字符串的基数。parseInt()函数将String解析为整数,而parseFloat()函数则将其解析为小数。
let str = "123.45"; let num2 = parseInt(str); // Output: 123 let num3 = parseFloat(str); // Output: 123.45
需要注意的是,parseInt()和parseFloat()在解析非数值字符串时会返回NaN。
二、String转Number in JavaScript
Javascript中有几种String转Number的方式。除了常规的Number()、parseInt()、parseFloat()函数,还可以使用+运算符将String转为Number:
let str = "123"; let num4 = +str; // Output: 123
需要注意的是,如果String不能转为Number,如“abc”,那么结果会是NaN。
三、String转Number in Java
在Java中,有多种方式将String转为Number。最常用的方法是使用Integer.parseInt()、Double.parseDouble()等静态方法:
String str = "123"; int num5 = Integer.parseInt(str); // Output: 123 double num6 = Double.parseDouble(str); // Output: 123.0
需要注意的是,如果String不能转为Number,例如“abc”,那么会出现NumberFormatException异常。
四、String转Number方式 in Flex
在Flex中,可以使用Number()函数将String转为Number。同时可以使用parseInt()、parseFloat()函数实现同样的效果:
var str:String = "123"; var num7:Number = Number(str); // Output: 123 var num8:int = parseInt(str); // Output: 123 var num9:Number = parseFloat(str); // Output: 123
五、String转Number类型
在Java中,可以使用基本数据类型将String转为Number类型。常见的Number类型有:int、long、float、double等。可以使用对应的静态方法将String转为Number类型。
String str = "123"; int intVal = Integer.parseInt(str); // Output: 123 long longVal = Long.parseLong(str); // Output: 123 float floatVal = Float.parseFloat(str); // Output: 123.0 double doubleVal = Double.parseDouble(str); // Output: 123.0
六、String转Integer
在Java中,可以使用Integer类将String转变为Integer对象:
String str = "123"; Integer intVal = Integer.valueOf(str); // Output: 123
需要注意的是,如果String不能转为Integer类型,那么会报NumberFormatException异常。
七、String转BigDecimal
在Java中,可以使用BigDecimal类将String转为BigDecimal对象:
String str = "123.45"; BigDecimal decimalVal = new BigDecimal(str); // Output: 123.45
需要注意的是,BigDecimal类提供了各种数学计算方法,并且可以防止数字精度丢失。
八、String转Double保留2位
在Java中,可以使用DecimalFormat类将Double保留2位:
String str = "123.4567"; double doubleVal = Double.parseDouble(str); DecimalFormat df = new DecimalFormat("#.##"); df.setRoundingMode(RoundingMode.CEILING); String formattedVal = df.format(doubleVal); // Output: "123.46"
需要注意的是,setRoundingMode()函数可以设置保留小数点后位数时使用的舍入方式。
九、String转Double丢失精度
在Java中,二进制无法准确表示除2和某些分数之外的许多小数。因此,将String转为Double时,可能会出现精度丢失问题:
String str = "0.1"; double doubleVal = Double.parseDouble(str); System.out.println(doubleVal); // Output: 0.1
需要注意的是,不能使用“==”运算符比较两个double变量,因为它们可能不完全相等。应该使用“Double.compare(double a, double b)”函数进行比较。