有哪些方法。哪種方法最快! Number()parseInt()
(非官方)測試結果,自己看
+'123'
Math.floor(+'123.123'); -Math.floor(-'123.123') -(-'123.213'.split('.')[0]); +'123.213'.split('.')[0]
轉換方式多了去,不過都是使用運算子進行隱式轉換的小技巧。
除了優先權和結合性,還要注意不同的運算元會對運算子的隱式轉換造成影響。
補充下還有這些方法,'3.1425' | 0'7.86'^0'123'-0
感覺應該是哪些專門用來轉換的方法比較快吧,像你說的parseInt、Number這些吧。快慢沒親自試過唉
var a = 1.123445;a>> 0;
String inString = ""; // inString 變數用於儲存輸入的值
Void setup () { // 打開串口,波特率9600 Serial.begin (9600); While (!Serial) { //發送設定功能已完成的訊息 Serial.println(" n nChanges Comparison to:");
} Void Loop() { //從Serial讀取值
Int inChar = Serial.read(); NUMBER 是否為數字字元 // 並新增字串。否則,您將在其上加上整數: P InString + = (char) inChar; } // 若 inChar 是換行符號。我列印結果 If (inChar == ' n') {// 一個字元用'(單引號),一個字串用'(雙引號) Serial.print("value:"); Serial.print("value:"); inString.toInt()); Serial.print("string:"); Serial.println(inString); }}照片編輯器
還有~~'123.45'
~~'123.45'
var a = '1'
var b = a * 1
b 為number
(非官方)測試結果,自己看
Number()
parseInt()
Math.floor()
Math.round()
Math.ceil()
|0
^0
-0
Math.floor+
-Math.floor-
--split[0]
+split[0]
+'123'
轉換方式多了去,不過都是使用運算子進行隱式轉換的小技巧。
除了優先權和結合性,還要注意不同的運算元會對運算子的隱式轉換造成影響。
補充下還有這些方法,
'3.1425' | 0
'7.86'^0
'123'-0
感覺應該是哪些專門用來轉換的方法比較快吧,像你說的parseInt、Number這些吧。快慢沒親自試過唉
var a = 1.123445;
a>> 0;
String inString = ""; // inString 變數用於儲存輸入的值
Void setup () {
Serial.println();// 打開串口,波特率9600
Serial.begin (9600);
While (!Serial) {
//發送設定功能已完成的訊息
Serial.println(" n nChanges Comparison to:");
}
While (Serial.available ()> 0) {Void Loop() {
//從Serial讀取值
Int inChar = Serial.read();
NUMBER 是否為數字字元
// 並新增字串。否則,您將在其上加上整數: P
InString + = (char) inChar;
}
// 若 inChar 是換行符號。我列印結果
If (inChar == ' n') {// 一個字元用'(單引號),一個字串用'(雙引號)
Serial.print("value:"); Serial.print("value:"); inString.toInt());
Serial.print("string:");
Serial.println(inString);
}
}
照片編輯器
還有
~~'123.45'
var a = '1'
var b = a * 1
b 為number