2016-09-07 6 views
0

У меня есть этот код:PHP - изменение формата номер

<?php 
if(isset($_POST['get_luna_inceput'])){ 
    $ret =[]; 
    $sch_luna_inceput = $_POST['get_luna_inceput']; 
    $sql = "SELECT 
      ..."; 
    $result = $conn->query($sql); 
    if ($result->num_rows > 0){ 
    while($row = $result->fetch_assoc()){ 
    $ret[] =[$row['JUDET'], floatval($row['TOTAL'])]; 
    } 
    } 
} 
    echo json_encode($ret) ; 
?> 

Мой код SQL возвращает значения для $row['TOTAL'] в числовом формате (1523,45). Как изменить формат (1.523,45)? Я пробовал: $ret[] =[$row['JUDET'], number_format(floatval($row['TOTAL']),2,",",".")] и не работал. Спасибо!

+0

нескольких ответов здесь для вас: http://stackoverflow.com/ вопросы/4325363/conversion-a-number-with-comma-as-decimal-point-to-float – nogad

+0

показывают ACTUAL-запрос. mysql не возвращал числа с форматированием «евро», если вы явно не запросили его. Mysql не делает никакого «причудливого» форматирования чисел e, g. '12345.6 -> 12,345.6' –

+0

возможно, его строка – nogad

ответ

2
$num = 1523.45; 
echo number_format ($num, 2, ",", "."); 

выполняет 1.523,45

в вашем случае это будет

$ret[] = [ $row['JUDET'], number_format($row['TOTAL']), 2, ",", ".") ]; 

Надеется, что это помогло

+0

не будет работать. Номер op' 1523,45' не '1523.45' – nogad

+1

Op lied. 1523,45 не является (плавающим) номером формата. Его строковый формат, из-за ",". –

+0

Op говорит нет, где находится плавающий – nogad

Смежные вопросы