2

C++ C の場合: 出力: "1610612736 "

#include <math.h>
#include <stdio.h>

int main(int argc, char** argv)
{
    printf("%d\n", fmodf(5.6f, 6.4f));
    getchar();
}

C# の場合: 出力: "5.6"

using System;

static class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine(5.6f % 6.4f);
        Console.Read();
    }
}

明らかに同じ出力ではありません。提案?

4

2 に答える 2

5

printf("%f\n", fmodf(5.6f, 6.4f))代わりに試してみてください。

于 2010-09-08T23:06:07.500 に答える
0

fprintf() で小数の問題を修正する

#include <math.h>
#include <stdio.h>
#include <iostream>

int main(int argc, char** argv)
{
    std::cout << fmodf(5.6f, 6.4f) << std::endl;
    getchar();
}

アウトプット 5.6

于 2010-09-08T23:11:07.370 に答える