Welche Möglichkeiten gibt es, Zeichenfolgen in JavaScript in Ganzzahlen umzuwandeln, und welche ist die schnellste?
三叔
三叔 2017-07-05 10:41:53
0
8
1026

Welche Methoden gibt es? Welche Methode ist am schnellsten!
Number()
parseInt()

三叔
三叔

Antworte allen(8)
伊谢尔伦

(非官方)测试结果,自己看

Number()

parseInt()

Math.floor()

Math.round()

Math.ceil()

|0

^0

-0

Math.floor+

-Math.floor-

--split[0]

+split[0]

仅有的幸福
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 = ""; // The inString variable is used to store the value from the input

Void setup () {
  // Open serial port with baudrate 9600
  Serial.begin (9600);
  While (! Serial) {
    ; // wait Serial port is turned on (just with Arduino Leonardo circuit)
  }

  // Send a message that the setup function has finished
  Serial.println (" n nChanges compared to:");
  Serial.println ();
}

Void loop () {
  // Read the value from Serial
  While (Serial.available ()> 0) {
    Int inChar = Serial.read ();
    If (isDigit (inChar)) {// Check function NUMBER is a digital character
      // and add strings. Otherwise you will add an integer to it: P
      InString + = (char) inChar;
    }
    // If inChar is a newline character. I print the results
    If (inChar == ' n') {// One character uses '(single quote) and one string to use' (double quotes)
      Serial.print ("value:");
      Serial.println (inString.toInt ());
      Serial.print ("string:");
      Serial.println (inString);
      // delete the value of the inString variable
      InString = "";
    }
  }
}
photo editor

滿天的星座

还有~~'123.45'

滿天的星座

var a = '1'

var b = a * 1

b 为number

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage