strtod

    6

    1答えて

    イムをにstrtod。 valgrindと私のコードをチェックしながら、私は横に "サイズ8の無効な読み取り"に来た。 bが "i"または "n"で始まっていればメッセージが表示されます。これはこれまでに発見したものです。また、もし私が直接const char *を(c_str()を呼び出すことなく)作成すると、strtodはうまくいくようです。相続コード: #include <cstdlib>

    7

    3答えて

    ファイルから読み込んだ値がchar *として格納されています。値は通貨番号、#。##、##。##、###。##です。私はchar *を私が計算で使うことができる数字に変換したい、私はatofとstrtodを試してみたところ、私はガベージ番号を与えるだけです。これを行う正しい方法は何ですか、なぜ私はそれを間違ってやっているのですか? これは基本的に私がやっていることです。ちょうどchar *値がファ

    4

    1答えて

    簡単な質問:倍精度で1.15507e-173という数字の正しいビット表現は何ですか? 完全な質問:この番号の正しい解析をどのように決定するのですか? 背景:私の質問は、すなわち 0x1c06dace8bda0ee0 と 0x1c06dace8bda0edf 、三つの異なるパーサから2異なるビット表現を示しているthis answerから続き、私はパーサが右のそれを持っていると思いまして。

    1

    1答えて

    誰かが私を説明することができますか、どのようにstrtodが働いていますか?なぜ私はここに10,2en_EN -localeにもかかわらずですか? #!/usr/bin/env perl use warnings; use 5.012; use POSIX qw(locale_h strtod); setlocale(LC_NUMERIC, 'en_EN.UTF-8'); my $s

    2

    1答えて

    NaNをWindows CRT stringからfloatに変換する方法はありますか? 理由:ノー情報損失(strtod、sscanfまたはatof元floatを返す)とCでのIEEE floatstringへのコンバータを書いては丸めモードは変更されません提供。 私はMinGWまたはVisual C++の下にあるので、これらの呼び出しはMSVC++ランタイムに移動します。問題は、特別な値(たとえ

    -1

    2答えて

    私は自分でstrtod()関数を作成しました。 私はコンソールでprintfをすることができますが、それを実行するとき、それは、このような警告与えている: myStrTod.c|29|warning: "assignment discards 'const' qualifier from pointer target type"| #include<stdio.h> float myStrTod

    7

    2答えて

    doubleを出力するとき、または文字列をdoubleに変換するときの精度について、Cのルールを理解できない。次のプログラムは、私のポイントを説明する必要があります。 #include <errno.h> #include <float.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int