在bat中把整数字符转成千分符表示
整数转千分符显示
::整数字符转成千分符表示 :numToThousand <数字参数> [返回变量] (setlocal enabledelayedexpansion&set n=%~1 set len=0&for /l %%i in (0,1,1000) do if "!n:~%%i,1!."=="." set len=%%i&goto :breakFor :breakFor set nv=&for /l %%a in (1,1,%len%)do (set nv=!n:~-%%a,1!!nv!&set/a m=%%a%%3&if !m!==0 set nv=,!nv!) endlocal&(if %2.==. (echo %nv%) else set %2=%nv%) exit/b)
调用方式使用call调用
使用的技术
1)其中用到了循环的强制退出,如下:
set len=0&for /l %%i in (0,1,1000) do if "!n:~%%i,1!."=="." set len=%%i&goto :breakFor
当符合条件时,使用goto进行跳转出来。
2)取模运算(求余)
根据前面计算处理的数字字符串的长度,每三位增加一个逗号,所以需要模3来判断是否添加逗号
set nv=&for /l %%a in (1,1,%len%)do (set nv=!n:~-%%a,1!!nv!&set/a m=%%a%%3&if !m!==0 if not %%a==%len% set nv=,!nv!)
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/15223074.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!