php中的數值型字串相加 相比較

2021-07-23 16:33:10 字數 1250 閱讀 9442

一。php中數值型字串相加

1.若兩個字串開頭沒有有效數值或不是數值型字串,這兩個字串相加時都看成0;

eg:$a="abc";

$b="b01";

$a+$b是0

2.兩個數值型字串相加時,有效數字進行相加。

eg:$a="100";

$b="01a";

$a+$b=101;

3/如果字串中帶有『.』,'e','e'時,按float型數字處理。

eg:$a="100";

$b="12.6a";

$a+$b=112.6;

$a='10';

$b='12.3e3';

$a+$b同樣為float型float(12310)

二.php中兩個字串相比較(< > ==);

1.php中兩個字串比較是否相等,一般不用(==),因為(==)會改變原有資料型別,而是用strcmp(str1,str2)系列函式

strcmp($str1,$str2);(strcmp是強制轉化為string型進行比較)。

eg:$a='123';

$b='123.';($b後多了乙個小數點)

但是有(==)進行比較是結果卻是true

var_dump($a==$b);

所以一般不用(==)進行字串的比較。

另外,乙個數字與乙個字串進行比較時,字串會轉化為int或float型(numberic_string含有『.』,'e','e')。

eg:『abc』轉化為int(0);

『12ab』轉化為int(12);

『12.3e3'轉化為float(12300);

2.( > < )的比較

2-1:如果是兩個字串的比較,則逐個比較對應的字元的ascii碼。

2-2:如果是數字與字串進行比較,字串先轉化為數字,然後進行比較。

2-3:如果是兩個數字型字串(純數字型字串)進行比較,則這兩個字串首先轉化為數字再進行比較。

eg:$a='100';

$b='20';

則$a>$b;

但是如$a=''100a;

$b='20';時,

結果為$a<$b;

對於倆個字串, 會首先判斷他們是否是numeric_string, 如果是,那麼就會轉換成整形來比較.. 那麼什麼是numeric string呢? 因為php不區分型別, 所以它採用乙個策略, 當你的變數看起來是乙個數字的時候, 那麼她就認為這個變數是乙個數字,然後轉換為整形來比較。

javaScript 數值型和字串型之間的轉換

1.數值型到string型的轉化 假設該數值型 int float double 變數為 num 其轉化後得到的字串為 str 則其轉化為字串的方式為有三種,分別如下 1 str string.valueof num 2 str integer.tostring num 3 str num 2.st...

字串中的數字相加

將字串中的數字相加 思路 1.需要將各個值放到陣列中,相當於各個字元的分割符,將各個值拆分出來,用分割符號來分割字串,得到陣列 2.需要遍歷陣列,看看哪些屬於數值 只是將數值進行相加的運算 需要弄清楚哪些屬於數值,哪些屬於字串 需讓程式識別出來 注 其它字元 不是數字的 不進行相加運算 1.用分割符...

C 字串轉換為數值型

引言 字串處理中,常常需要把字串轉換成數值型。方法有很多,這裡總結兩種比較簡單的方法。方法一c 自帶函式atoi char s 函式原型 include atoi char s 參考 方法二利用stringstream字串輸入輸出流 include include include using nam...