問題タブ [atof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Atofが機能していませんか?
私は学校のプロジェクト用のプログラムを書いていますが、その一部では、ユーザーがコマンド ラインで乱数を入力する必要があります。次に、プログラムは atof を使用して数値を float に変換し、それを使って計算できるようにします。プログラムのその部分は次のようになります。
プログラムはコンパイルされましたが、正しく動作しませんでした。cout << x; を追加してテストしました。そして、atof が間違った番号を与えていることがわかりました。たとえば、私の番号として 5.0 をコマンド ラインに入力すると、私の x は 379.7465 であることが示されました。何が問題なのですか?
c - 文字列をフロートに変換するには?
4.08000000
私は得たのに対し、出力は4.00000000
.
ドットの後に数字を取得する方法はありますか?
c++ - ベクターでpush_backするときに精度を設定する
CSVから1行ずつ読み取り、カンマ区切りの各値をトークン化します。各トークンは文字列型です。そして私はそれをfloat型のベクトルに入れています。以下の例では、たとえばcsvの値が "0.08"の場合、* beg = "0.08"ですが、ベクトルvでは"0.079999998"です。
ベクトルの精度を小数点以下3桁程度に設定できる方法はありますか。
例:
c++ - C++ の atof、構造体、およびポインター
これは、学校のサイエンス フェアのために私が書いたコードのサンプルです。
このコードを実行すると、このエラーが発生します。
誰かがこのエラーを説明し、それを修正する方法の例を教えてもらえますか?
c++ - 関数atof()は、結果を整数部分に丸めます
atofが「14718.5084」を14718.5に丸めるのはなぜですか?それを防ぐ方法はありますか(つまり、整数14718.5084を取得します)?
コード:
出力は次のとおりです。
ありがとう
c - 文字列をCでdouble変数に変換する
私は次のコードを書きました。"88"
のような文字列をdouble値に変換して出力する必要が88
あります
ただし、常に印刷され0
ます。しかし、retのタイプをに変更するとint
、正常に機能します。タイプがfloat
またはの場合double
、。を出力し0
ます。では、なぜこれらのあいまいな結果が得られるのでしょうか。
c - char*をfloatまたはdoubleに変換する
ファイルから読み込んだ値があり、char*として保存されています。値は、通貨番号#。##、##。##、または###。##です。char *を計算に使用できる数値に変換したいのですが、atofとstrtodを試しましたが、ゴミの数値が表示されます。これを行う正しい方法は何ですか、そしてなぜ私がそれを間違っているのですか?
これは基本的に私が行っていることであり、char*値だけがファイルから読み込まれます。temp変数とftemp変数を出力すると、それらは単なるゴミであり、巨大な負の数です。
別の編集:
私はこれをgccで正確に実行しています
}
私の出力は価格です:3344336.000000、3344336.000000
編集:これが私のコードです
私の入力ファイルは非常に単純な名前で、次のような値のペアです。
値はドル額です
解決済み:ありがとうございます。%fの代わりに%dを使用していて、適切なヘッダーが含まれていませんでした。
c - atolf c関数を知っている人はいますか?
atol
(char * to long int)に似た関数を探していますが、 atofl
(char to long double)、これを行うライブラリ、またはこれを行う簡単な方法を知っている人はいますか?
atof
「0.00000005」を使用すると、 5?ありがとう。
c++ - C++ コンソール アプリケーション、atof
私の問題は次のとおりです。文字列を double に変換しようとしています。この上:
しかし、これは機能しません。単純に 1 を返します。
しかし、私が試してみると:
1.1 を返します。
それは本当に奇妙です。「、」と書くと数字しか理解できないようですが、「.」として返されます。
これを解決して「1.1」も変換する方法はありますか?
c - atof は奇妙な結果を作成します
atof() を使用して文字列を double に変換しようとしていますが (明らかに)、結果は期待したものではありません。atof() の前の変数値に関するコードとデバッグ情報は次のとおりです。
プログラムが atof() をステップ実行したら。結果は次のとおりです。
ご覧のとおり、コマンドの前に、arg 変数は有効な double を保持しています。ただし、戻り値は 0 です。なぜ arg の値が変わるのでしょうか?
また、stdlib.h が含まれています。同様に、arg は次のように宣言されます。
それがまったく役立つ場合、「10.0」はファイルから読み取られました。
より多くのコード:
これは、ファイルを開いてアクセスするための指定されたコードです。
ヘッダー ファイル:
そして、これはテストファイルです: