<p>Thinkphp中的大数值中英文互译,另附JS版本的number_format函数</p><pre style="background-color:#262e37;color:#ffffff;font-family:'Consolas';font-size:11.3pt;"><span style="color:#5b7773;background-color:#191f26;">/**<br/></span><span style="color:#5b7773;background-color:#191f26;"> * number_format<br/></span><span style="color:#5b7773;background-color:#191f26;"> * </span><span style="color:#75715e;background-color:#191f26;">@param </span><span style="color:#5b7773;background-color:#191f26;">number </span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">传进来的数</span><span style="color:#5b7773;background-color:#191f26;">,<br/></span><span style="color:#5b7773;background-color:#191f26;"> * </span><span style="color:#75715e;background-color:#191f26;">@param </span><span style="color:#5b7773;background-color:#191f26;">bit </span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">保留的小数位</span><span style="color:#5b7773;background-color:#191f26;">,</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">默认保留两位小数</span><span style="color:#5b7773;background-color:#191f26;">,<br/></span><span style="color:#5b7773;background-color:#191f26;"> * </span><span style="color:#75715e;background-color:#191f26;">@param </span><span style="color:#5b7773;background-color:#191f26;">sign </span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">为整数位间隔符号</span><span style="color:#5b7773;background-color:#191f26;">,</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">默认为空格<br/></span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';"> </span><span style="color:#5b7773;background-color:#191f26;">* </span><span style="color:#75715e;background-color:#191f26;">@param </span><span style="color:#5b7773;background-color:#191f26;">gapnum </span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">为整数位每几位间隔</span><span style="color:#5b7773;background-color:#191f26;">,</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">默认为</span><span style="color:#5b7773;background-color:#191f26;">3</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">位一隔<br/></span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';"> </span><span style="color:#5b7773;background-color:#191f26;">* </span><span style="color:#75715e;background-color:#191f26;">@type </span><span style="color:#5b7773;background-color:#191f26;">arguments</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">的作用:</span><span style="color:#5b7773;background-color:#191f26;">arguments[0] == number(</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">之一</span><span style="color:#5b7773;background-color:#191f26;">)<br/></span><span style="color:#5b7773;background-color:#191f26;"> */</span><span style="color:#5b7773;"><br/></span><span style="color:#f92672;">function </span><span style="font-style:italic;">number_format</span>(<span style="color:#fd971f;font-style:italic;">number</span>,<span style="color:#fd971f;font-style:italic;">bit</span>,<span style="color:#fd971f;font-style:italic;">sign</span>,<span style="color:#fd971f;font-style:italic;">gapnum</span>){<br/> <span style="color:#5b7773;background-color:#191f26;">//</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">设置接收参数的默认值</span><span style="color:#5b7773;font-family:'宋体';"><br/></span><span style="color:#5b7773;font-family:'宋体';"> </span><span style="color:#f92672;">var </span><span style="color:#64a2a2;">bit </span><span style="color:#f92672;">= </span><span style="color:#660e7a;font-weight:bold;font-style:italic;">arguments</span>[<span style="color:#ae81ff;">1</span>] <span style="color:#f92672;">? </span><span style="color:#660e7a;font-weight:bold;font-style:italic;">arguments</span>[<span style="color:#ae81ff;">1</span>] <span style="color:#f92672;">: </span><span style="color:#ae81ff;">2 </span>;<br/> <span style="color:#f92672;">var </span><span style="color:#64a2a2;">sign </span><span style="color:#f92672;">= </span><span style="color:#660e7a;font-weight:bold;font-style:italic;">arguments</span>[<span style="color:#ae81ff;">2</span>] <span style="color:#f92672;">? </span><span style="color:#660e7a;font-weight:bold;font-style:italic;">arguments</span>[<span style="color:#ae81ff;">2</span>] <span style="color:#f92672;">: </span><span style="color:#e6db74;">' ' </span>;<br/> <span style="color:#f92672;">var </span><span style="color:#64a2a2;">gapnum </span><span style="color:#f92672;">= </span><span style="color:#660e7a;font-weight:bold;font-style:italic;">arguments</span>[<span style="color:#ae81ff;">3</span>] <span style="color:#f92672;">? </span><span style="color:#660e7a;font-weight:bold;font-style:italic;">arguments</span>[<span style="color:#ae81ff;">3</span>] <span style="color:#f92672;">: </span><span style="color:#ae81ff;">3 </span>;<br/> <span style="color:#f92672;">var </span><span style="color:#64a2a2;">str </span><span style="color:#f92672;">= </span><span style="color:#e6db74;">'' </span>;<br/><br/> <span style="color:#fd971f;font-style:italic;">number </span><span style="color:#f92672;">= </span><span style="color:#fd971f;font-style:italic;">number</span>.toFixed(<span style="color:#64a2a2;">bit</span>);<span style="color:#5b7773;background-color:#191f26;">//</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">格式化</span><span style="color:#5b7773;font-family:'宋体';"><br/></span><span style="color:#5b7773;font-family:'宋体';"> </span><span style="color:#660e7a;font-weight:bold;">realnum </span><span style="color:#f92672;">= </span><span style="color:#fd971f;font-style:italic;">number</span>.<span style="color:#4ac60a;">split</span>(<span style="color:#e6db74;">'.'</span>)[<span style="color:#ae81ff;">0</span>];<span style="color:#5b7773;background-color:#191f26;">//</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">整数位</span><span style="color:#5b7773;background-color:#191f26;">(</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">使用小数点分割整数和小数部分</span><span style="color:#5b7773;background-color:#191f26;">)</span><span style="color:#5b7773;"><br/></span><span style="color:#5b7773;"> </span><span style="color:#660e7a;font-weight:bold;">decimal </span><span style="color:#f92672;">= </span><span style="color:#fd971f;font-style:italic;">number</span>.<span style="color:#4ac60a;">split</span>(<span style="color:#e6db74;">'.'</span>)[<span style="color:#ae81ff;">1</span>];<span style="color:#5b7773;background-color:#191f26;">//</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">小数位</span><span style="color:#5b7773;font-family:'宋体';"><br/></span><span style="color:#5b7773;font-family:'宋体';"> </span><span style="color:#660e7a;font-weight:bold;">realnumarr </span><span style="color:#f92672;">= </span><span style="color:#660e7a;font-weight:bold;">realnum</span>.<span style="color:#4ac60a;">split</span>(<span style="color:#e6db74;">''</span>);<span style="color:#5b7773;background-color:#191f26;">//</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">将整数位逐位放进数组</span><span style="color:#5b7773;background-color:#191f26;"> ["1", "2", "3", "4", "5", "6"]</span><span style="color:#5b7773;"><br/></span><span style="color:#5b7773;"><br/></span><span style="color:#5b7773;"> </span><span style="color:#5b7773;background-color:#191f26;">//</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">把整数部分从右往左拼接,每</span><span style="color:#5b7773;background-color:#191f26;">bit</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">位添加一个</span><span style="color:#5b7773;background-color:#191f26;">sign</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">符号</span><span style="color:#5b7773;font-family:'宋体';"><br/></span><span style="color:#5b7773;font-family:'宋体';"> </span><span style="color:#f92672;">for</span>(<span style="color:#f92672;">var </span><span style="color:#64a2a2;">i</span><span style="color:#f92672;">=</span><span style="color:#ae81ff;">1</span>;<span style="color:#64a2a2;">i</span><span style="color:#f92672;"><=</span><span style="color:#660e7a;font-weight:bold;">realnumarr</span>.<span style="color:#660e7a;font-weight:bold;">length</span>;<span style="color:#64a2a2;">i</span><span style="color:#f92672;">++</span>){<br/> <span style="color:#64a2a2;">str </span><span style="color:#f92672;">= </span><span style="color:#660e7a;font-weight:bold;">realnumarr</span>[<span style="color:#660e7a;font-weight:bold;">realnumarr</span>.<span style="color:#660e7a;font-weight:bold;">length</span><span style="color:#f92672;">-</span><span style="color:#64a2a2;">i</span>] <span style="color:#f92672;">+ </span><span style="color:#64a2a2;">str </span>;<br/> <span style="color:#f92672;">if</span>(<span style="color:#64a2a2;">i</span><span style="color:#f92672;">%</span><span style="color:#64a2a2;">gapnum </span><span style="color:#f92672;">== </span><span style="color:#ae81ff;">0</span>){<br/> <span style="color:#64a2a2;">str </span><span style="color:#f92672;">= </span><span style="color:#64a2a2;">sign</span><span style="color:#f92672;">+</span><span style="color:#64a2a2;">str</span>;<span style="color:#5b7773;background-color:#191f26;">//</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">每隔</span><span style="color:#5b7773;background-color:#191f26;">gapnum</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">位前面加指定符号</span><span style="color:#5b7773;font-family:'宋体';"><br/></span><span style="color:#5b7773;font-family:'宋体';"> </span>}<br/> }<br/><br/> <span style="color:#5b7773;background-color:#191f26;">//</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">当遇到</span><span style="color:#5b7773;background-color:#191f26;"> gapnum </span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">的倍数的时候,会出现比如</span><span style="color:#5b7773;background-color:#191f26;"> ",123",</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">这种情况,所以要去掉最前面的</span><span style="color:#5b7773;background-color:#191f26;"> sign</span><span style="color:#5b7773;"><br/></span><span style="color:#5b7773;"> </span><span style="color:#64a2a2;">str </span><span style="color:#f92672;">= </span>(<span style="color:#660e7a;font-weight:bold;">realnum</span>.<span style="color:#660e7a;font-weight:bold;">length</span><span style="color:#f92672;">%</span><span style="color:#64a2a2;">gapnum</span><span style="color:#f92672;">==</span><span style="color:#ae81ff;">0</span>) <span style="color:#f92672;">? </span><span style="color:#64a2a2;">str</span>.<span style="color:#4ac60a;">substr</span>(<span style="color:#ae81ff;">1</span>) <span style="color:#f92672;">: </span><span style="color:#64a2a2;">str</span>;<br/> <span style="color:#5b7773;background-color:#191f26;">//</span><span style="color:#5b7773;background-color:#191f26;font-family:'宋体';">重新拼接实数部分和小数位</span><span style="color:#5b7773;font-family:'宋体';"><br/></span><span style="color:#5b7773;font-family:'宋体';"> </span><span style="color:#660e7a;font-weight:bold;">realnum </span><span style="color:#f92672;">= </span><span style="color:#64a2a2;">str</span><span style="color:#f92672;">+</span><span style="color:#e6db74;">'.'</span><span style="color:#f92672;">+</span><span style="color:#660e7a;font-weight:bold;">decimal</span>;<br/> <span style="color:#f92672;">return </span><span style="color:#660e7a;font-weight:bold;">realnum</span>;<br/>}</pre><pre style="background-color:#262e37;color:#ffffff;font-family:'Consolas';font-size:11.3pt;"><span style="color:#f92672;">if</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]){<br/><?<span style="color:#c32867;font-weight:bold;">php </span><span style="color:#a6e22e;">if</span>(<span style="color:#c32867;font-weight:bold;">LANG_SET</span><span style="color:#e6db74;font-weight:bold;">=='zh-cn'</span>){ <span style="color:#f92672;">?><br/></span><span style="color:#f92672;"><br/></span><span style="color:#f92672;"> if</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">></span><span style="color:#ae81ff;">10000</span>){<br/> <span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">=</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">/</span><span style="color:#ae81ff;">10000</span>).<span style="color:#4ac60a;">toFixed</span>(<span style="color:#ae81ff;">2</span>)<span style="color:#f92672;">+</span><span style="color:#e6db74;">"</span><span style="color:#e6db74;font-family:'宋体';">万</span><span style="color:#e6db74;">"<br/></span><span style="color:#e6db74;"> </span>}<br/> <span style="color:#f92672;">if</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">></span><span style="color:#ae81ff;">100000000</span>){<br/> <span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">=</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">/</span><span style="color:#ae81ff;">100000000</span>).<span style="color:#4ac60a;">toFixed</span>(<span style="color:#ae81ff;">2</span>)<span style="color:#f92672;">+</span><span style="color:#e6db74;">"</span><span style="color:#e6db74;font-family:'宋体';">亿</span><span style="color:#e6db74;">"<br/></span><span style="color:#e6db74;"> </span>}<br/> <?<span style="color:#c32867;font-weight:bold;">php </span>}<span style="color:#c32867;font-weight:bold;">else</span>{ <span style="color:#f92672;">?><br/></span><span style="color:#f92672;"><br/></span><span style="color:#f92672;"><br/></span><span style="color:#f92672;"> if</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">></span><span style="color:#ae81ff;">1000000000000</span>){<br/> <span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">=</span><span style="font-style:italic;">number_format</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">/</span><span style="color:#ae81ff;">1000000000000</span>,<span style="color:#ae81ff;">2</span>,<span style="color:#e6db74;">','</span>)<span style="color:#f92672;">+</span><span style="color:#e6db74;">" billion"<br/></span><span style="color:#e6db74;"> </span>}<span style="color:#f92672;">else if</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">></span><span style="color:#ae81ff;">1000000</span>){<br/> <span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">=</span><span style="font-style:italic;">number_format</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">/</span><span style="color:#ae81ff;">1000000</span>,<span style="color:#ae81ff;">2</span>,<span style="color:#e6db74;">','</span>)<span style="color:#f92672;">+</span><span style="color:#e6db74;">" million"<br/></span><span style="color:#e6db74;"> </span>}<span style="color:#f92672;">else</span>{<br/> <span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]<span style="color:#f92672;">=</span><span style="font-style:italic;">number_format</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>],<span style="color:#ae81ff;">2</span>,<span style="color:#e6db74;">','</span>);<br/> }<br/> <span style="color:#660e7a;font-weight:bold;font-style:italic;">console</span>.<span style="color:#4ac60a;">log</span>(<span style="color:#fd971f;font-style:italic;">data</span>[<span style="color:#e6db74;">'info'</span>][<span style="color:#e6db74;">'volume'</span>]);<br/><br/> <?<span style="color:#c32867;font-weight:bold;">php </span>} ?><br/><br/><br/> <span style="color:#660e7a;font-weight:bold;">$</span>("#<span style="color:#c32867;font-weight:bold;">market_volume</span><span style="color:#e6db74;font-weight:bold;">").</span><span style="color:#4ac60a;font-weight:bold;">html</span><span style="color:#e6db74;font-weight:bold;">(</span><span style="color:#fd971f;font-style:italic;">data</span><span style="color:#e6db74;font-weight:bold;">['info']['volume']);</span></pre><p><br/></p>
相关文章