@ 主贴
日期:2009-06-21 15:16:15 作者:
解答
关键是考虑到小数点后第一位是0的情况和正则表达式中的非贪婪匹配。
解决办法如下:
set num 1.2900 regsub {(\.\d+?)0*$} $num {\1} ## 输出 1.29 set num 1.00 regsub {(\.\d+?)0*$} $num {\1} ## 输出 1.0
注意上面的非贪婪匹配 "\d+?"。如果是采用贪婪匹配,则如下
set num 1.2900 regsub {(\.\d+)0*$} $num {\1} ## 输出 1