1樓:匿名使用者
create procedure atoc
@changemoney money
asset nocount on
declare @string1 char(20)
declare @string2 char(30)
declare @string4 varchar(100)
declare @string3 varchar(100) –從原a值中取出的值
declare @i int –迴圈變數
declare @j int –a的值乘以100的字串長度
declare @ch1 varchar(100) –數字的漢語讀法
declare @ch2 varchar(100) –數字位的漢字讀法
declare @zero int –用來計算連續有幾個零
declare @returnvalue varchar(100)
select @returnvalue = ”
select @string1 = ‘零壹貳叄肆伍陸柒捌玖’
select @string2 = ‘萬仟佰拾億仟佰拾萬仟佰拾元角分’
select @string4 = cast(@changemoney*100 as int)
select @j=len(cast((@changemoney*100) as int))
select @string2=right(@string2,@j)
select @i = 1
while @i<= @j begin
select @string3 = substring(@string4,@i,1)
if @string3<>‘0′ begin
select @ch1 = substring(@string1, cast(@string3 as int) + 1, 1)
select @ch2 = substring(@string2, @i, 1)
select @zero = 0 –表示本位不為零
endelse begin
if (@zero = 0) or (@i = @j – 9) or (@i = @j – 5) or (@i = @j – 1)
select @ch1 = ‘零’
else
select @ch1 = ”
select @zero = @zero + 1 –表示本位為0
–如果轉換的數值需要擴大,那麼需改動以下表示式 i 的值。
select ch2 = ”
if @i = @j – 10 begin
select @ch2 = ‘億’
select @zero = 0
endif @i = @j – 6 begin
select @ch2 = ‘萬’
select @zero = 0
endif @i = @j – 2 begin
select @ch2 = ‘元’
select @zero = 0
endif @i = @j
select @ch2 = ‘整’
endselect @returnvalue = @returnvalue + @ch1 + @ch2
select @i = @i+1
end–最後將多餘的零去掉
if charindex(‘仟仟’,@returnvalue) <> 0
select @returnvalue = replace(@returnvalue, ‘仟仟’, ‘仟’)
if charindex(‘佰佰’,@returnvalue) <> 0
select @returnvalue = replace(@returnvalue, ‘佰佰’, ‘佰’)
if charindex(‘零元’,@returnvalue) <> 0
select @returnvalue = replace(@returnvalue, ‘零元’, ‘元’)
if charindex(‘零萬’,@returnvalue) <> 0
select @returnvalue = replace(@returnvalue, ‘零萬’, ‘萬’)
if charindex(‘零億’,@returnvalue) <> 0
select @returnvalue = replace(@returnvalue, ‘零億’, ‘億’)
if charindex(‘零整’,@returnvalue) <> 0
select @returnvalue = replace(@returnvalue, ‘零整’, ‘整’)
if charindex(‘零佰’,@returnvalue) <> 0
select @returnvalue = replace(@returnvalue, ‘零佰’, ‘零’)
if charindex(‘零仟’,@returnvalue) <> 0
select @returnvalue = replace(@returnvalue, ‘零仟’, ‘零’)
if charindex(‘元元’,@returnvalue) <> 0
select @returnvalue = replace(@returnvalue, ‘元元’, ‘元’)
select @returnvaluego
2樓:匿名使用者
定義一個漢字型檔陣列hzk=
然後利用給定的0-9做索引呼叫陣列中的漢字型檔
哪種物聯網程式語言最熱門
樂高機器人用的什麼程式語言?
3樓:匿名使用者
樂高機器人程式設計軟體叫lego mindstorms nxt、robolab。
robolab。它是一個簡單、直觀、易學的程式設計環境,也可適用於樂高程式設計。它基於圖形化語言的程式設計環境,適合各個年齡段的使用者使用,程式的編寫方式類似於做邏輯表達,不過是全部圖形化的。
在基於robolab程式設計環境進行程式編寫,需要清醒的頭腦,清晰的邏輯。程式編寫完畢後通過樂高(lego)紅外感測器傳送至機器人(rcx)的記憶體中。
robolab的出現原本旨在為相關產品做軟體支援,經過多年的發展,已經成為青少年進行機器人競賽的必備程式設計工具。現在最新版本robolab 2.9 能支援新一代樂高(lego) 機器人(nxt)。
robolab是 樂高(lego) 機器人(一種基於rcx核心執行的簡單機器人)的程式設計工具。它是樂高玩具公司於2023年8月推出的廣受歡迎的新一代玩具機器人系統,該系統包括一個由ni開發、且基於labview平臺的全新推放式圖形化程式設計環境,是目前nxt程式設計最廣泛應用的軟體。
編寫程式自定義的遞迴函式long power int m,i
無語的店鋪 2010 12 2 09 09 提供答案有錯誤我將其修改如下 include long power int m,int n void main 另一解法 include long power int m,int n return y int main 這兩個辦法都可以解決這一個問題 遞迴...
EXCEL VBA自定義函式,EXCEL VBA 自定義函式
萬年金剛鑽 你的自定義函式易失性函式,不會自動更新,你只要在使用函式的公式後面加上強制更新的東西就行了 比如你的公式的結果是文字型的,那麼 pbs t now 比如你的公式的結果是數值型的,那麼 pbs n t now 就能強制自動更新 至於rng1和rng2,樓主試試用range的方式,也就是se...
c語言求救二實驗內容編寫自定義子函式實
古神孤鴻 include define n 10 void swap int a,int b,int n int main void void swap int a,int b,int n c語言 指標 編寫一個函式實現n n矩陣轉置。在主函式中用scanf輸入矩陣元素 將陣列名作為函式實參。 庫後...