ページ 11

可変個引数に小数を渡したときの処理

Posted: 2006年2月13日(月) 23:10
by hira

コード: 全て選択

Declare Function sprintf CDECL Lib "crtdll" (str As *Byte,format As *Byte,...) As Long
Dim a[100] As Byte
sprintf(a,"%.2f",3.2)
このようなコードで、なぜかaには「0.00」が返ってきてしまいます(「3.20」を期待するところ)。

コード: 全て選択

sprintf(a,"%.2e",3.2)
では「2.64e-308」が返り、

コード: 全て選択

sprintf(a,"%02d",3)
では正しく「03」が返ります。
ABの不具合なのでしょうか?調査をお願いします。
※小数はDouble・Singleにキャストして調べましたが、やはり同じでした

Ver 4.21.00で確認。

Posted: 2006年2月22日(水) 01:59
by 山本
ご報告ありがとうございます。
32ビットコンパイラ・64ビットコンパイラ共に、次回のバージョンアップで修正しますので、今しばらくお待ちください。