我正在使用Codeigniter进行基于Web的应用程序构建。
部分用户表单:
<div class="form-group" id="hasil_swab_tpc">
<label for="swab_tpc" class="col-sm-3 control-label">Hasil TPC</label>
<div class="col-sm-8">
<input type="text" id="swab_tpc" name="swab_tpc" class="form-control" placeholder="Hasil Analisa TPC">
</div>
</div>
我希望用户输入正常值,比如说 250 ,将值保存到数据库中。然后在视图页面中,我想以科学计数法 2.5 x 10 2 显示该值。
我的问题是:如何将数字转换为科学记数法? 出于某种原因,我需要显示用户输入的数字,从 250 到 2.5 x 10 2 和 25 至 2.5 x 10 1 等
答案 0 :(得分:0)
嗯,这与CodeIgniter本身无关;实际上你要问的是 - 如何获得数量级?因为一旦拥有它,你可以echo
像
$value / pow(10,$order_of_magnitude) . ' x 10<sup>' . $order_of_magnitude . '</sup>'
(或使用插值)
现在,为什么不以简单的方式对其进行计算?像这样:
function getOrderOfMagnitude($value) {
if($value == 0)
return null; // you have to deal with this separately when displaying the value
$absValue = abs($value); // let's deal with non-negative values only
$orderOfMagnitude = 0;
while($absValue >= 10) { // keep in mind that these "=" cases are limited to how the arithmetic works (see https://stackoverflow.com/q/588004/3995261)
$absValue /= 10;
$orderOfMagnitude++;
}
while($absValue < 0.1) {
$absValue *= 10;
$orderOfMagnitude--;
}
return $orderOfMagnitude;
}
这应该足以满足您的需求。