我有这段代码:
<?php echo $price; ?>
给了我这个结果:
1,500.99
有什么方法可以制作小数上标或下标吗?
感谢。
编辑:此代码就像一个魅力(感谢David Thomas):
$parts = explode('.', $price);
echo "$parts[0].<sup>$parts[1]</sup>";
但是如果我有这样的价格:1,500.99€它也标有€符号。这可以停止吗?如果它不是数字,或者上标后只有2个字符,则不上标吗?
答案 0 :(得分:5)
目前尚未经过测试,但我认为这很简单:
$parts = explode('.', $price);
echo "$parts[0].<sup>$parts[1]</sup>";
参考文献:
答案 1 :(得分:1)
您可以使用html sub和sup标签: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_sup
示例代码可以是:
echo preg_replace('/\.([0-9]*)/', '<sup>.$1</sup>', $price);
答案 2 :(得分:0)
使用HTML和CSS,这是一个例子:
<style type="text/css">
.superscript {
font-size: xx-small;
vertical-align: top;
}
.subscript {
font-size: xx-small;
vertical-align: bottom;
}
</style>
<body>
<table>
<td class="superscript"><?php echo $price ?></td>
<td class="subscript"><?php echo $price ?></td>
</table>
答案 3 :(得分:0)
检查此代码:
<?php
$val = 10009.99;
echo set_sub_dec($val);
function set_sub_dec($val,$type="sub",$attrib=""){//use "sub" or "sup" or any other HTML tag with attributes
if(!is_string($val)){
$val = strval($val);
}
$val = split("\.",$val);
return $val[0].".<$type $attrib>".$val[1]."</$type>";
}
?>