Как изменить отформатированные числа обратно на необработанные числа в php - PullRequest
0 голосов
/ 13 июня 2011

Я использую средство форматирования чисел jquery для форматирования чисел.

http://code.google.com/p/jquery-numberformatter/

$('#decnum').blur(function(){

     $(this).parseNumber({format:"#,###.00", locale:"us"});
    $(this).formatNumber({format:"#,###.00", locale:"us"});


});

Мне нужны отформатированные числа, подобные этим, -> 232 000,00 для представления.Но то, что мне нужно хранить в базе данных, не должно выглядеть так.Как мне превратить его обратно в php?

Ответы [ 4 ]

3 голосов
/ 13 июня 2011

Если запятые доставляют вам неприятности, попробуйте это:

$number = floatVal(str_replace(',', '', $numberString));

или если вы хотите целые числа:

$number = intVal(str_replace(',', '', $numberString));
2 голосов
/ 13 июня 2011

preg_replace будет делать то, что вы хотите.

$db_number = preg_replace('/[^\d\.]/', '', $number);
echo $db_number; // 230000.00
1 голос
/ 13 июня 2011
$formattedNumber = "24,000.00";
$formattedNumber = explode('.',$formattedNumber);             //24,000
$number          = str_replace(",","",$formattedNumber[0]);   // 24000
0 голосов
/ 13 июня 2011

Другой способ мышления: все остальные ответы дают конверсии, но давайте предположим, что у вас есть что-то более сложное: как насчет сокрытия исходных данных и отображения только хорошего числа.Когда вы вызываете свой код сохранения, вы просто извлекаете исходные данные.

Таким образом, ваш HTML-код будет выглядеть примерно так

<input type="hidden" name="original_data" value="232000" /> 
<input type="text" name="displayed_data" value="232000" id="#decnum" />
...