2016-09-06 5 views
0

Я работаю над функцией, которая получает данные из базы данных MySQL, а затем она должна ее вычислять. У меня есть функция, как я хочу, но моя единственная проблема в том, что мое значение в базе данных выглядит следующим образом:PHP вычисляется с помощью специальных символов

€ 12.345,67

Но PHP думает, что точки являются запятые. Так что с форматированием мой результат выглядит следующим образом:

25.000,00 + 40.000,00 = 65,00

Как это должно выглядеть следующим образом:

25.000,00 + 40.000,00 = 65.000,00

Я уже пробовал следующие параметры:

str_replace(',', '.', $value1); 

Это не сработало, поэтому я спрашиваю, есть ли у кого-то ключ, как это сделать.

Мой код:

<?php 

$con=mysqli_connect("localhost","root","pass","DB-Nane"); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$result = mysqli_query($con,"SELECT * FROM Fahrzeugverkauf WHERE Fahrzeugkonto = 2"); 
$rahmen = 230000; 
while($row=mysqli_fetch_array($result)){ 
    $total3 = $row['EKBrutto']; 
    $test +=$total3; 
    $belastung= $rahmen - $test; 


} 
//$res1 = 

mysqli_close($con); 

?> 

<?php echo "Verfügbarer Rahmen: " .$rahmen;?>  <br> 
<?php echo "Belastung: " .$test;?>  <br> 
    <?php echo "Verbliebenes Guthaben: " .$belastung;?> 
+0

Вы пробовали к и se функция 'number_format()'? – SuperDJ

+0

Пока нет, я попробую! –

+0

Попробуйте: http://php.net/manual/es/function.money-format.php – Vitorlui

ответ

0

Попробуйте:

setlocale(LC_MONETARY, 'en_US'); 
echo money_format('%(#10n', $number) . "\n"; 
// ($  1,234.57) 

от: http://php.net/manual/es/function.money-format.php

+0

Это своего рода работа, моя единственная проблема - как я могу делать запятые и точки в одно и то же время? –

+0

Если вы сначала удалите все точки и замените запятую точкой, то она также будет работать: str_replace (',', '.', Str_replace ('.', '', $ Value1)); – Vitorlui

+1

Но я все еще думаю, что если вы используете тип валюты в своей базе данных, вы должны использовать money_format или другую функцию для работы с форматом данных валюты ... Если ваша база данных является varchar, вы должны перейти на работу как валюта или хотя бы какой-то числовой тип, как плавать. – Vitorlui

0

Try использовать Number Formatter Class как,

<?php 
    $a = new \NumberFormatter("it-IT", \NumberFormatter::CURRENCY); 
    echo $a->formatCurrency(12345, "USD") . "<br>"; // outputs $ 12.345,00 and it is formatted using the italian notation (comma as decimal separator) 
?> 
Смежные вопросы