Я использую средство форматирования чисел 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?
Если запятые доставляют вам неприятности, попробуйте это:
$number = floatVal(str_replace(',', '', $numberString));
или если вы хотите целые числа:
$number = intVal(str_replace(',', '', $numberString));
preg_replace будет делать то, что вы хотите.
$db_number = preg_replace('/[^\d\.]/', '', $number); echo $db_number; // 230000.00
$formattedNumber = "24,000.00"; $formattedNumber = explode('.',$formattedNumber); //24,000 $number = str_replace(",","",$formattedNumber[0]); // 24000
Другой способ мышления: все остальные ответы дают конверсии, но давайте предположим, что у вас есть что-то более сложное: как насчет сокрытия исходных данных и отображения только хорошего числа.Когда вы вызываете свой код сохранения, вы просто извлекаете исходные данные.
Таким образом, ваш HTML-код будет выглядеть примерно так
<input type="hidden" name="original_data" value="232000" /> <input type="text" name="displayed_data" value="232000" id="#decnum" />