добавление varchar с десятичными числами php - PullRequest
0 голосов
/ 24 января 2012
  int    varchar
+======+==========+
| id   | amount   |
+======+==========+
| 1    | 1.40     |
| 2    | 2.40     |
| 3    | 3.40     |
+======+==========+


$res += $row['amount'];
// $res = 6


$res += (float)$row['amount'];
// $res = 6

почему я не могу их добавить?

Ответы [ 2 ]

1 голос
/ 24 января 2012

Согласно вашим результатам var_dump string(8) "1,000.00" string(8) "2,391.45" string(8) "2,005.31", это проблема ваших данных.

(float)"2,391.45" приведёт строку string("2,391.45") к float(2)

0 голосов
/ 24 января 2012

В PHP числа с плавающей запятой не могут содержать запятую: http://php.net/manual/en/language.types.float.php

LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})
...