蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年6月26日 11:18


:shock: 请教 数字如何加入豆号 ?

:shock:
whta=1234567890

变量whta的值如何量成 1,234,567,890.00
要在原来的基础上加入"豆号"和".00" 我写的123456789 是举
有可能是正他的正负整数
谁会啊,谢谢了!

:shock: 请教 数字如何加入豆号 ?

用awk的substr函数

:shock: 请教 数字如何加入豆号 ?

具体怎么写啊!!!!

:shock: 请教 数字如何加入豆号 ?

我写了一个玩,;)
[code]
#!/bin/ksh
#
#假设输入的全是整数
function _do {
rev|sed 's/.../&,/g'|rev
}
if (($#==1))&&echo $1|grep -oq '^[-|0-9]\{1,\}$';then
        if echo $1|grep -q ^-;then
                echo -$(echo $1|cut -c2-|_do|sed 's/,//1').00
        else
                echo $(echo $1|_do|sed 's/^,//').00
        fi
else
        echo "Error!";exit 1
fi
[/code]
test:
-->

:shock: 请教 数字如何加入豆号 ?

如果不要输入,用上赋过值的"whta " 就用这个变量怎么写啊,,,,,!!!????

:shock: 请教 数字如何加入豆号 ?

我也写了一个好玩的:)
[code]
[kennyyu@haha shellTestRoom]$ test=1234123412341234;testrev=`echo ${test}|rev`;head="00.";length=${#test};while [ ! -z ${testrev} ] ;do head=${head}"$(echo ${testrev}|cut -b-3),";testrev=${testrev:3}; done ;echo ${head}|rev|cut -b2-
1,234,123,412,341,234.00
[/code]

:shock: 请教 数字如何加入豆号 ?

:shock: 请教 数字如何加入豆号 ?

是的我会看的,

[kennyyu@haha shellTestRoom]$ test=1234123412341234;testrev=`echo ${test}|rev`;head="00.";length=${#test};while [ ! -z ${testrev} ] ;do head=${head}"$(echo ${testrev}|cut -b-3),";testrev=${testrev:3}; done ;echo ${head}|rev|cut -b2-
1,234,123,412,341,234.00  

在问
怎么把上面的这个数1,234,123,412,341,234.00   放到变量wht中啊!!?

:shock: 请教 数字如何加入豆号 ?

-->
让烈火兄见笑了 :oops:
我的那段代码在处理前需要判断一下是否为负数,呵呵,为负数的要做些处理 :oops:  :em06:

:shock: 请教 数字如何加入豆号 ?

-->
:em06:  :em06:

:shock: 请教 数字如何加入豆号 ?

-->

:shock: 请教 数字如何加入豆号 ?

:shock: 请教 数字如何加入豆号 ?

是啊,看的我好累啊!

:shock: 请教 数字如何加入豆号 ?

寂寞烈火兄 你才写的那个 如果
如果不要输入,用上赋过值的"whta "
最后输入的数值赋给wht 怎么做啊

:shock: 请教 数字如何加入豆号 ?

whta=1234567890
echo $whta|rev|sed 's/.../&,/g'|rev
P.S:变量赋值是shell最基本的,建议你还是先看看置顶的shell十三问再说吧 ;)

:shock: 请教 数字如何加入豆号 ?

[code]echo $whta|rev|nawk '{for(i=1;;i+=3){a=substr($0,i,3);b=b a;if(length(a)<3){break};b=b ","}}END{print b}'|sed -e 's/ ,//;s/, //'|rev|awk '{print substr($0,1,length($0)-1)".00"}'[/code]
写了一个超长一行版,里面用了好多笨办法, :em16:

:shock: 请教 数字如何加入豆号 ?

sed1line里面不是有一个很强的加逗号的例子吗?
sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta'

:shock: 请教 数字如何加入豆号 ?

what=${what}.00
echo $what | sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta'

:shock: 请教 数字如何加入豆号 ?

-->
不好意思 :oops:
[code][kennyyu@haha FORMAT]$ more format.sh
#! /bin/sh
if [ -z $1 ]
then
whta=-123
else
whta=$1
fi

testrev=`echo ${whta}|rev`
head="00."
length=${#test}
while [ ! -z ${testrev} ]
do
head="${head}${testrev:0:3},"
testrev=${testrev:3}
done
whta=$(echo ${head}|rev|cut -b2-)
[ $(echo ${whta}|cut -b-2) = "-," ]&&whta="-"${whta:2}
echo ${whta}[/code]

:shock: 请教 数字如何加入豆号 ?

我运行format.sh
不行啊,出
format.sh : test : argnment expected



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com