printf

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
しんくんパパ

printf

#1 投稿記事 by しんくんパパ »

Windows10よりAB4にて数字を文字に変換したいのですが、下記だと0.00になってしまします。
何が悪いのでしょう?

Declare Function sprintf CDECL Lib "crtdll" (lpString As *Byte,lpFormat As *Byte,...) As Long

Dim a As Double
Dim b[10] as Byte
a=12.34
sprintf(b,"%.2f",a)
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

Re: printf

#2 投稿記事 by たかせ »

少しバリエーション増やして実行した結果、
いずれも12.34と表示されました。
ちなみにPC環境はWindows10/20H2(X64)です。
また32ビットモードのみでコンパイル&実行しました。
ご確認願います。
よろしくお願いいたします。

Declare Function sprintf CDECL Lib "crtdll" (lpString As *Byte,lpFormat As *Byte,...) As Long

Dim a As Double
Dim b[10] as Byte
a = 12.34
sprintf(b,"%.2f",a)
MessageBox(NULL,b,"test",MB_OK)
sprintf(b,"%2.2f",a)
MessageBox(NULL,b,"test",MB_OK)
END
ゲスト

Re: printf

#3 投稿記事 by ゲスト »

AB4を入れ直したら改善しました。
返信する