如何在php中更改小数点的颜色

时间:2018-05-02 21:31:49

标签: php html css

如何在PHP中更改数字的ONLY小数的颜色? 这是我格式化数字的功能

<div class="form-group">
<label for="test1">Test1:</label>
<select id="test1" name="test1" class="form-control linked-dropdown" data- 
linked="test2">
  <option value="">-- Select Test1 --</option>
  <option value="Test1">Test1</option>
  <option value="Test2">Test2</option>
  </select><p>&nbsp;</p>

<div class="form-group">
<label for="test2">Test2:</label>
<select id="test2" name="test2" class="form-control linked-dropdown" data-
linked="test3">
<option value="">-- Select Test2 --</option>    
</select><p>&nbsp;</p>

<div class="form-group">
<label for="test3">Test3:</label>
<select id="test3" name="test3" class="form-control linked-dropdown" data-
linked="test3">
<option value="">-- Select Test3 --</option>    
</select><p>&nbsp;</p>  

<div class="form-group">
<label for="test4">Test4</label>
<select id="test4" name="test4" class="form-control">
<option value="">-- Select Test4--</option>
</select><p>&nbsp;</p>  

<button type="button" class="btn btn-very-light-gray" data-dismiss="modal"  
id="clickButton">Submit</button>
<button data-dismiss="modal" class="btn btn-very-light-gray"  
id="clickButton">Cancel</button></div>
</div></div></div></div></div></div>

<script>
$('#myModal').on('hidden.bs.modal', function () { 
location.reload();
});

var dataFirstSelect={
option:[ 'Test1','Test2']
}
var dataSecondSelect={
Test1:['A','B'],
Test2:['E','F']
}
var dataThirdSelect={
Test1:['C','D'],
Test2:['G','H']
}
var dataFourthSelect={
'C’:[{form:'CNN',link:'https://www.cnn.com'}],  
'D’:[{form:'MSNBC',link:'http://www.msnbc.com'},]
}

$('#test1').on('change',function(){
var a=$(this).val();
if(a!==''){       
for(var i=0;i<dataSecondSelect[a].length;i++){
$('#test2').append($("<option></option>")
                                .attr("value",dataSecondSelect[a][i])
                                .text(dataSecondSelect[a][i]));   
}
 }
});

$('#test2').on('change',function(){
var a=$(this).val();
if(a!==''){       
for(var i=0;i<dataThirdSelect[a].length;i++){
$('#test3').append($("<option></option>")
                                .attr("value",dataThirdSelect[a][i])
                                .text(dataThirdSelect[a][i]));   
}
}
});
$('#test3').on('change', function() {
var b = $(this).val();
if (b !== '') {
for (var i = 0; i <dataFourthSelect[b].length; i++) {
$('#test4').append($("<option></option>")
      .attr("value",dataFourthSelect[b][i].link)
      .text(dataFourthSelect[b][i].form));  
}
}
});

function openDoc(url){

window.open   
(url,"_blank","menubar=yes,location=yes,resizable=yes,
scrollbars=yes,status=yes");
}

$('#clickButton').on('click',function(){
var data=new Object;
$('select').each(function(){
  //console.log($(this));
data[$(this)["0"].id]=$(this).val();  
});

openDoc(data.form);
});    
</script>

我就像那样使用它

function formatNumber($input, $decimals = 'auto', $prefix = '', $suffix = '') {

    $input = floatval($input);
    $absInput = abs($input);
    if ($decimals === 'auto') {
        if ($absInput >= 0.01) {
            $decimals = 2;
        } elseif (0.0001 <= $absInput && $absInput < 0.01) {
            $decimals = 4;
        } elseif (0.000001 <= $absInput && $absInput < 0.0001) {
            $decimals = 6;
        } elseif ($absInput < 0.000001) {
            $decimals = 8;
        }
    }

 if($input>1000000000000000){
        $result = ROUND(($input/1000000000000000),2).' TH ';
    }elseif($input>1000000000000){
        $result = ROUND(($input/1000000000000),2).'  T ';
    }elseif($input>1000000000){
        $result = ROUND(($input/1000000000),2).'  B ';
    }elseif($input>1000000) {
        $result = ROUND(($input / 1000000), 2) . '  M ';
    } else {
        $result  = number_format($input, $decimals, config('decimal-separator','.'), config('thousand-separator', ',')) ;
    }
    return ($prefix ? $prefix : '') . $result. ($suffix ? $suffix : '');

}

我希望我的小数用不同的颜色...我可以在那里使用css或添加类吗?

3 个答案:

答案 0 :(得分:3)

以下是操作字符串在评论中的含义示例:

<?php
$n = 123.456;

$whole = floor($n);      //  123
$fraction = $n - $whole; // .456

//echo str_replace('.', '<span class="colorme">.</span>', $n);
echo $whole . '<span class="colorme">.</span>' . substr($fraction, strpos($fraction, '.')+1);

//只需在小数点上进行字符串替换。

UPDATED 分解部分,连接。

使用Javascript(带有一些jQuery)的客户端方法将类似于:

$('#myDiv').each(function () {
  $(this).html($(this).html().replace(/\./g, '<span class="colorme">.</span>'));

  //or decimal point and decimal number part...
  $(this).html($(this).html().replace(/\.([0-9]+)/g, '<span class="colorme">.$1</span>'));
});

请记住,其他语言区域并不总是使用.作为分隔符。

答案 1 :(得分:0)

因此,使用现有代码,您可以执行以下操作:

pip3 install --upgrade nbstripout

nbstripout MY_BIG_NOTEBOOK_FILE.ipynb

然后当然,对于你的CSS,你只需要

 $dec_point = config('decimal-separator','.');
 $wrapped_dec_point = "<span class='dec_point'>{$dec_point}</span>";
 $result  = number_format($input, $decimals, $wrapped_dec_point, config('thousand-separator', ',')) ;

答案 2 :(得分:0)

这是更短的解决方案

$n = 123.456;
$nums = explode(".",$n);
echo $nums[0] . '<span class="colorme">.' . $nums[1] . '</span>';