質問

Cプログラムで小数点を区切り文字として使用して実数を分割しようとしています。たとえば、1234.56が得られます。

(int)whole_num = 1234(int)fraction = 56

どうすればこれを実行できるか何かアイデアはありますか?久しぶりに C をいじってみました。:)

役に立ちましたか?

解決

void split( double num, int& whole_number, double& fraction) {
    fraction = modf(num, &whole_number);
}
MODFは、二重の整数部分を取り、小数部を返すため、

この作品ます。

他のヒント

あなたは、文字列を分割したいと仮定します。

strtok_rstrtolのようなあなたの好きな文字列からNUM関数

文字列表現ではなく、実際の浮動小数点数を扱っている場合は、次のように使用する必要があります。 modf 整数部分と小数部分を分割するため。

パールの split 正規表現によって分割されるため、完全な機能を複製するには正規表現ライブラリが必要になります。一般的な文字列分割には、次を使用できる場合があります。 strtok, ですが、文字列をその場で変更するため、 strtok_r 代わりに (同じページで説明されています) を使用することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top