2017-11-13 9 views
1

私はテスト電子商取引の店を作りましたが、2つのことに問題があります: 1)私の価格にはドル記号($)があり、ポンド記号(£)はありません。 2)私の価格は切り上げられます。通貨と10進数

この私は、次のコードを使用して、シャープ記号を追加する方法を見つけ、ネット上の研究から、スクリーンショット

enter image description here

:私は£として&ポンドを追加する必要がありました

$<?= '&pound;'. number_format($product['list_price'],2); ?> 

黒三角が現れます。

enter image description here

これは私が何を望むかを正確ではありません。

この

は、このコードを追加した結果です。どのようにして価格を19.99ポンドにするのですか? (またはその他)。

これはデータベース内のエントリである:£24.99(価格)、及びphomyadimの挿入オプションを使用して£19.99として入力両方価格(LIST_PRICEや価格

enter image description here

enter image description here

これは、製品に関連したPHPコードです:

<?php require_once 'core/init.php'; 
$sql = "SELECT * FROM products WHERE featured =1"; 
$featured = $db->query($sql); 
?> 

私のcurrenctを£と小数点以下2桁にフォーマットするのに役立ちます。

+3

'$ <?= '£'から' $ 'を削除することがあります。 number_format($ product ['list_price']、2); ?> ' – IsThisJavascript

+0

(PHPタグの外に)あなたが投稿したコードの前にある' $ 'は通貨記号です。これを '£'に置き換えてください。それだけで十分です。小数点以下については、['number_format()'](http://php.net/manual/en/function.number-format.php)を参照してください。あるいは、['' money_format() '](http://php.net/manual/en/function.money-format.php)が金額と通貨の両方を扱うようにしてください(それはすぐに使えませんそれが有用になる前に適切な設定が必要です)。 – axiac

+0

@axiacこれは主に彼のデータベースに問題があります。彼は 'decimal 'を使っていて正しく設定していないので、データベースは適切にフォーマットされた通貨を受け入れません。 'money_format()'と 'number_format()'は、何か別のものを表示したいと思うときに '.00'を表示しても差をつけません。 – IsThisJavascript

答えて

1

DB構造が正しくありません。10,0は小数点以下を表します。これはここで見ることができます。

http://sqlfiddle.com/#!9/f54cd/1

変更は10,2の構造は、小数点以下2桁を可能にします。

http://sqlfiddle.com/#!9/f1bf0f/1

あなたがここにこれについての詳細を読むことができ、

https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html

黒いダイヤモンドは、符号化の問題、使用UTF8です。

0

ありがとうございました。問題が解決しました。

関連する問題