2016-08-10 8 views
0

特定の量に基づいて食品の栄養素を計算するアプリを作成しています。ユーザーは消費した食物の量を入力し、アプリは栄養価を計算します。PHP:小数点以下を計算する

私のソースデータには、小数点以下の値があります。例えば、イチゴ100gには6,5個の炭水化物が含まれています。

ストロベリー100g(ソースデータと同じ量です)を入力すると、アプリは6,5の代わりに6を出力します。だから、私の計算はコンマの後ろにあるすべてのものを無視しているようだ( "、")。

マイコード:

$con = mysqli_connect('localhost','root','','food'); 
if (!$con) { 
    die('Could not connect: ' . mysqli_error($con)); 
} 

mysqli_select_db($con, "food"); 
$sql = "SELECT * FROM products WHERE id = '".$q."'"; 
$result = mysqli_query($con, $sql); 

if ($result->num_rows > 0) { 
    while($row = mysqli_fetch_array($result)) { 
     $GLOBALS['name'] = $row['product']; 
     $GLOBALS['kcal'] = $row['kcal']/100 * $GLOBALS['amount']; 
     $GLOBALS['protein'] = $row['protein']/100 * $GLOBALS['amount'];  
     $GLOBALS['fat'] = $row['fat']/100 * $GLOBALS['amount'];  
     $GLOBALS['carbs'] = $row['carbs']/100 * $GLOBALS['amount']; 
    } 
} else { 
    echo "Geen gegevens"; 
} 

私は式の周りnumber_formatを使用している場合、結果はまだ(出力が6になります)間違っているだろう。

私は間違っていますか?上部の2つの入力で

Demo

塗りつぶし:

イチゴ(Aardbeien)

クリックして "Voegつま先"

答えて

2

はたぶん、あなたが必要str_replace楽しいを使用してくださいction? 例:

$GLOBALS['kcal'] = str_replace(',','.',$row['kcal'])/100 * $GLOBALS['amount']; 
関連する問題