asp 数字转化为字符串

asp 数字转化为字符串,第1张

使用vb脚本的formatnumber函数,如果只是为了要显示小数点前面的这个0,可以使用

FormatNumber(数字变量,-1,-1)

如果你要显示前面的0,并且小数点后面保留N位,就使用

FormatNumber(数字变量,N,-1)

先检查金额列的数据是否都符合小数规范,转为数字格式只有是数字的字符才能转,如000012转为12,55转为055,若是个英文符号等字符转了就报无效数字类型的错。

转换的方式很多,但是字符串转换成数字的前提是字符串中只包含了数字或者小数点。

可使用convert函数,cast 和convert可以显式转换数据类型,在某些情况下SQL会根据实际情况自动转换!不过建议显式的转换一下,这样的话可读性高一点!

因为字符串不一定能转换成数字,所以用上面的,加上错误处理比较。

例子:

declare @a varchar(10)

set @a='as23'

select case when isnumeric(@a)=1 then cast(@a as int) else null end

set @a='23'

select case when isnumeric(@a)=1 then cast(@a as int) else null end

结果:

declare @a varchar(10)

set @a='as23'

select case when isnumeric(@a)=1 then cast(@a as int) else null end

set @a='23'

select case when isnumeric(@a)=1 then cast(@a as int) else null end

不同的数据库做法不同

replace就是替换,虽然是字符的替换,不过你的特殊字符应该不是数字吧,所以你的号码应该存成字符型,不然假设你的替换字符是xxxx,可是这个可是没办法插入数字格式的。

你说的中间四位怎么定义,是类似xxx xxxx xxxx种种,还是XX YYYY xx这种,如果是前面那种那就用定位比如substr,不知道你是什么数据库,只能用oracle的方式写,可以根据自己数据库自行查找相应函数

比如,replace(字符串,substr(字符串,4,4),'XXXX')

这样的话,假设源字符串为001 1101 1100,那么就会变为001 xxxx 1100

当然,这个语句本身是有问题的,如果刚巧你的号码比较特殊,比如001 0101 0101,那么可能就变成了0XXXX XXXX 01,或者001 1001 1001 那么就是001 XXXX XXXX

那么怎么只更换中间四位,其他位置有特殊的也不动呢?

有两个办法

(1)分开显示人然后合并,比如 selelct substr(字符串,1,3)||‘XXXX’|| substr(字符串,-1,4) (本写法是oracle的,其他数据库的连接符号各有不同,情自行查找)

(2)replace全部替换,其实合作前面的差不多,比如replace(字符串,substr(字符串,1), substr(字符串,1,3)||‘XXXX’|| substr(字符串,-1,4))

要看你是什么编码。

如果是ASC码那么就是8位2进制一个字符,也就是两个十六进制位。

所以,你可以将这个十六进制字符串除0x以外,两位一组,每一组可以使用CHAR(0x0C)的方式转换为字符,再串加在一起就行了。

如果是UNICODE字符,那么就是4位十六进制(16位二进制)一组进行转换。

如第一个字符就是:select nchar(0x0C45),第二个字符就是select nchar(0x0000)

方法一:直接强制转换。如:String str= (String)123;

方法二:直接通过空字符串+数字的形式转换为字符串(前后都可以用)。如:String str= ""+123;

方法三:直接通过包装类来实现。如:String str = StringvalueOf(1231);

楼主,可把数据搜索出来后,用下面的函数处理后再显示出来:

'将一个一位的数字前面加零

function FillZero(str)

ttt=str

if len(str)=1 then

ttt="0" & str

end if

FillZero=ttt

end function

'转化日期,将 一位补上零 2003-1-2 --> 2003-01-02

function ConvertDate(tDate)

ttt=tDate

if isdate(tDate) then

ttt=year(tDate) & "-" & FillZero(month(tDate)) & "-" & FillZero(day(tDate))

end if

ConvertDate=ttt

end function

'输入一个日期时间串,转换成年四位,其他两位的新的日期时间串

function ConvertDateTime(tDateTime)

ttt=tDateTime

if isdate(tDateTime) then

ttt=year(tDateTime) & "-" & FillZero(month(tDateTime)) & "-" & FillZero(day(tDateTime)) & " " & FillZero(cstr(hour(tDateTime))) & ":" & FillZero(cstr(minute(tDateTime))) & ":" & FillZero(cstr(second(tDateTime)))

end if

ConvertDateTime=ttt

end function

以上就是关于asp 数字转化为字符串全部的内容,包括:asp 数字转化为字符串、sql语句中怎样将字符类型转换成数字类型、在sql中如何实现电话号码中间的4位数字转换成特殊字符等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9354012.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存