
一直使用自己做的“深山行者購物商城網(wǎng)站系統(tǒng)”為基礎(chǔ)為基礎(chǔ)來二次開發(fā)客戶的商城系統(tǒng),一直使用沒有問題,本地也正常,其它客戶也正常,可是最近遇到了一個客戶說,在添加數(shù)據(jù)的時候如果添加的價格為小數(shù),那么小數(shù)前面的零就顯示不出來,
如客戶添加:價格為:0.25元,結(jié)果前臺顯示:.25元,
access 數(shù)據(jù)庫字段類型為: Num1 單精度型
這個問題的解決辦法如下:
1. 在"控制面版"---"區(qū)域和語言選項"--"區(qū)域選項"---"自定義"---"數(shù)字"---"零起始顯示"中選擇0.7 <數(shù)字不定>(PS:本人通過重新啟動,IIS重裝,都沒有成功,如有那位兄弟知道請告訴一聲。)
2.或者使用FormatNumber 本人不是特別喜歡這個方法
response.write FormatNumber("要格式化的數(shù)字",保留的小數(shù)位數(shù))
response.write FormatNumber("0.515151",3) 結(jié)果為:0.515
但是這個不好,當(dāng)要格式化的數(shù)據(jù)是0.5時,它就會為你后面添加兩個00,結(jié)果就是0.500,客戶不想要見到這個效果,而且購買都也看不懂,所以我們再選擇其它方法。
3.自己編寫格式化函數(shù)(想到了四種情況,還沒有其它情況還沒有想出,如果有朋友想出來,告訴一聲。)
以下為我自己用的數(shù)字格式化函數(shù)
=============================以下弄成asp文件測試
<%
a = "19.1218"
b = ".1218"
c = "00.1218"
d = "191218"
%>
<%response.write fmtumber(a)%><br /><br />
<%response.write fmtumber(b)%><br /><br />
<%response.write fmtumber(c)%><br /><br />
<%response.write fmtumber(d)%><br /><br />
<%
function fmtumber(nums)
nums = cstr(nums) '轉(zhuǎn)換為字符
if instr(nums,".") > 0 then '如果中間有點號就說明是數(shù)字
if left(nums,1) = "." then '如果截取的第一個符號是點號,就說明點號前面的0被省略了,那下面就是添加一個 例: .1218
nums = "0" & nums
else
nums = nums '這里驗證就是第一個符號不是點號,就直接顯示數(shù)據(jù) 例:19.1218 00.1218
end if
else
nums = nums '沒有點號直接顯示數(shù)據(jù) 例:191218
end if
fmtumber = nums
end function
%>
呢 稱: | |
表 情: | |
內(nèi) 容: |
評論內(nèi)容:不能超過 1000 字,需審核,請自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī)。 |
驗證碼: | |
您發(fā)布的評論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權(quán)益;
二、不得發(fā)布國家法律、法規(guī)明令禁止的內(nèi)容;互相尊重,對自己在本站的言論和行為負(fù)責(zé);
三、本站對您所發(fā)布內(nèi)容擁有處置權(quán)。