Rumah > Artikel > hujung hadapan web > Bagaimana untuk menukar rentetan kepada nombor dalam TypeScript?
String dan nombor ialah jenis data primitif dalam TypeScript. Kadangkala, kita mendapat nombor dalam format rentetan dan kita perlu menukar nilai rentetan kepada nombor untuk melaksanakan operasi matematik pada nilai tersebut. Jika kita melakukan operasi matematik pada nilai rentetan, ia memberikan hasil yang pelik. Sebagai contoh, menambah nilai berangka lain pada rentetan angka menambahkan nombor pada rentetan dan bukannya menambahkannya.
Kami akan belajar menukar rentetan kepada nombor menggunakan pelbagai kaedah dan pendekatan dalam TypeScript.
Jadi, kita perlu menukar rentetan kepada nombor dalam TypeScript.
Pengendali unari mengambil satu operan. Ia menukarkan operan kepada nilai berangka sebelum menilainya. Jadi kita boleh menggunakannya untuk menukar rentetan kepada nilai angka.
Pengguna boleh mengikut sintaks berikut untuk menukar rentetan kepada nilai angka.
let numberValue: number = +stringNmber;
Dalam sintaks di atas, kami menggunakan pembolehubah stringNumber sebagai operan pengendali "+" unary.
Dalam contoh ini, pembolehubah stringNumber mengandungi nilai berangka dalam format rentetan. Selepas itu, kami menukar nilai rentetan stringNumber kepada nombor menggunakan operator ‘+’ unary dan menyimpan nilai yang dikira dalam pembolehubah numberValue.
Dalam output, pengguna boleh melihat bahawa jenis pembolehubah numberValue ialah nombor.
let stringNmber: string = "124354656"; let numberValue: number = +stringNmber; console.log("The type of numberValue variable is " + typeof numberValue); console.log("The value of the numberValue variable is " + numberValue);
Apabila disusun, ia akan menjana kod JavaScript berikut -
var stringNmber = "124354656"; var numberValue = +stringNmber; console.log("The type of numberValue variable is " + typeof numberValue); console.log("The value of the numberValue variable is " + numberValue);
Kod di atas akan menghasilkan output berikut -
The type of numberValue variable is number The value of the numberValue variable is 124354656
Number ialah objek dalam TypeScript, kita boleh menggunakannya sebagai pembina untuk mencipta contoh objek Number.
Kita boleh menghantar nilai angka sebagai parameter pembina Nuber() dalam format angka atau rentetan.
Pengguna boleh menggunakan pembina Number() mengikut sintaks di bawah untuk menukar rentetan kepada nilai angka.
let num: number = Number(str);
Dalam sintaks di atas, kami menghantar nilai nombor dalam format rentetan sebagai parameter pembina Number().
Dalam contoh ini, kami telah mencipta pembolehubah string1 dan string2 yang mengandungi nilai berangka dalam format rentetan. Selepas itu, kami menukar kedua-dua pembolehubah ini kepada nombor menggunakan pembina Number() dan menyimpannya dalam pembolehubah number1 dan number2.
Selepas menukar nilai rentetan kepada nombor, pengguna boleh memerhati jenisnya dalam output.
let string1: string = "35161"; let string2: string = "65986132302"; let number1: number = Number(string1); let number2: number = Number(string2); console.log("The value of number1 is " + number1); console.log("The type of number1 is " + typeof number1); console.log("The value of number2 is " + number2); console.log("The type of number2 is " + typeof number2);
Apabila disusun, ia akan menjana kod JavaScript berikut -
var string1 = "35161"; var string2 = "65986132302"; var number1 = Number(string1); var number2 = Number(string2); console.log("The value of number1 is " + number1); console.log("The type of number1 is " + typeof number1); console.log("The value of number2 is " + number2); console.log("The type of number2 is " + typeof number2);
Kod di atas akan menghasilkan output berikut -
The value of number1 is 35161 The type of number1 is number The value of number2 is 65986132302 The type of number2 is number
Kaedah parseInt() TypeScript mengekstrak nilai integer daripada rentetan nombor atau nombor itu sendiri dan mengalih keluar bahagian perpuluhan nombor itu.
Pengguna boleh menggunakan kaedah parseInt() dalam TypeScript untuk menukar rentetan kepada nombor mengikut sintaks berikut.
let num: number = parseInt(str);
Dalam sintaks di atas, kami menghantar nilai angka dalam format rentetan sebagai parameter kaedah parseInt().
Dalam contoh di bawah, fungsi convertNumToString() menukar rentetan kepada nombor dan mengembalikan nilai angka. Dalam fungsi tersebut, kami telah menggunakan kaedah parseInt() untuk mengekstrak nombor daripada rentetan.
Kami memanggil fungsi convertNumToString() dua kali dengan menghantar nombor berbeza dalam format rentetan sebagai parameter dan pengguna boleh memerhatikan nilai angka yang ditukar dalam output.
let stringNumber: string = "12234567998"; let stringNumber2: string = "34345465.4333"; function convertNumToString(str: string) { let num: number = parseInt(str); return num; } console.log( "After converting the " + stringNumber + " to number value is " + convertNumToString(stringNumber) ); console.log( "After converting the " + stringNumber2 + " to number value is " + convertNumToString(stringNumber2) );
Apabila disusun, ia akan menjana kod JavaScript berikut -
var stringNumber = "12234567998"; var stringNumber2 = "34345465.4333"; function convertNumToString(str) { var num = parseInt(str); return num; } console.log("After converting the " + stringNumber + " to number value is " + convertNumToString(stringNumber)); console.log("After converting the " + stringNumber2 + " to number value is " + convertNumToString(stringNumber2));
Kod di atas akan menghasilkan output berikut -
After converting the 12234567998 to number value is 12234567998 After converting the 34345465.4333 to number value is 34345465
parseFloat() melakukan kerja yang sama seperti kaedah parseInt(), menukar rentetan kepada nombor. Satu-satunya perbezaan ialah ia tidak mengeluarkan nilai selepas titik perpuluhan, yang bermaksud ia mengekstrak nilai titik terapung daripada rentetan, manakala kaedah parseInt() mengekstrak nilai integer daripada rentetan.
Pengguna boleh menggunakan kaedah parseFloat() untuk menukar rentetan kepada nombor mengikut sintaks di bawah.
let numberValue: number = parseFloat(stringValue);
Dalam sintaks di atas, stringValue ialah nombor titik terapung dalam format rentetan.
Dalam contoh di bawah, fungsi stringToFloat() menunjukkan cara mengekstrak nilai titik terapung daripada rentetan yang diberikan menggunakan kaedah parseFloat(). Kami telah memanggil fungsi stringToFloat() tiga kali.
Pada panggilan ketiga ke fungsi stringToFloat(), kami menghantarnya rentetan dengan nombor dan aksara lain sebagai parameter. Dalam output, kita dapat melihat bahawa ia mengalih keluar aksara daripada rentetan dan mengekstrak nilai titik terapung sahaja.
let strFloat: string = "34356757"; let strFloat2: string = "7867.465546"; function stringToFloat(stringValue: string) { let numberValue: number = parseFloat(stringValue); console.log( "The " + stringValue + " value after converting to the number is " + numberValue ); } stringToFloat(strFloat); stringToFloat(strFloat2); stringToFloat("232343.43434fd");
Apabila disusun, ia akan menjana kod JavaScript berikut -
var strFloat = "34356757"; var strFloat2 = "7867.465546"; function stringToFloat(stringValue) { var numberValue = parseFloat(stringValue); console.log("The " + stringValue + " value after converting to the number is " + numberValue); } stringToFloat(strFloat); stringToFloat(strFloat2); stringToFloat("232343.43434fd");
Kod di atas akan menghasilkan output berikut -
The 34356757 value after converting to the number is 34356757 The 7867.465546 value after converting to the number is 7867.465546 The 232343.43434fd value after converting to the number is 232343.43434
Dalam tutorial ini, pengguna mempelajari empat cara untuk menukar nilai berangka yang diberikan dalam format rentetan kepada nombor sebenar. Cara terbaik untuk menukar rentetan kepada nombor adalah dengan menggunakan operator unary, yang memakan masa kurang daripada operator lain. Walau bagaimanapun, pengguna juga boleh menggunakan pembina Number().
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan kepada nombor dalam TypeScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!