首页 > 其他 > 详细

在bat中把整数字符转成千分符表示

时间:2021-09-03 18:57:13      阅读:9      评论:0      收藏:0      [点我收藏+]

整数转千分符显示

::整数字符转成千分符表示
: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!)

在bat中把整数字符转成千分符表示

原文:https://www.cnblogs.com/mq0036/p/15223074.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!