アプリ版:「スタンプのみでお礼する」機能のリリースについて

c言語でftoa関数を作ろうとしていますが、作り方がわからなく、困っています。
作りたいのは、double型の変数に入っている数値を配列に入れて文字化する関数ですが、この時に桁数が小数点以下16桁の指数表示で文字化したいと考えています。
単純にstrcpyを使うと桁数が全然足りないので他の方法でお願いします。
ヒント、アドバイスでもいいので、お願いします。

A 回答 (3件)

>桁数が小数点以下16桁の指数表示で


ヒント、「sprintf関数」、「%.17e」。
    • good
    • 0

strcpyで、1KB(1024桁)でも2KB(2048桁)でもコピーできますが、何が足りませんか?



でもまあまずは、内部表現の通り "0.ABCDEFGHIJKLMNOP × 10^Q" の形式で表示できる物を作ってみて。

そのあと、Qの範囲により、"0"を補完して本当の桁数表示にするという部分、の2段階で考えてみるとどうでしょうか。
a) 16桁より大きい場合→0を付加
b) A~Pの間に小数点が入る場合 例) ABC.DEFGHIJKLMNOP
c) 0より小さい場合、頭に0.000…を付加する
    • good
    • 0

strcpy をどう使うつもりだったんでしょうか?


sprintf で終わりじゃね?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!