1

私はこのコードを持っています:

<?php echo $price; ?>

これにより、次の結果が得られます。

1,500.99

このコードは、ドットの後の数字に上付き文字を付けるお守りのように機能します。

$parts = explode('.', $price); 
echo "$parts[0].<sup>$parts[1]</sup>";

しかし、私がこのような価格を持っている場合: 1,500.99€ € 記号も上付きになります。これを止めることはできますか?数字でない場合は上付きにしないか、ドットの後の 2 文字だけに上付きにしますか?

同じコードである必要はありません。他に何かあれば試してみます。

ありがとう

4

1 に答える 1

1

正規表現はもう少し柔軟かもしれません:

<?php
$price = "1,500.99";
$pattern = '/([\d,]+\.)(\d+)(.*)$/';
// ...or '/([\d\.]+,)(\d+)(.*)$/' if your currencies are 1.500,00

$formatted = preg_replace($pattern, '$1<sup>$2</sup>$3', $price);
// gives "1,500<sup>.99</sup>"

$price = "1,500.99€";

$formatted = preg_replace($pattern, '$1<sup>$2</sup>$3', $price);
// gives "1,500<sup>.99</sup>€"
于 2012-04-16T18:03:19.477 に答える