Math.sin() unterschiedliche Genauigkeit zwischen Node.js und C#
Ich habe ein Problem in der Präzision in der letzten Stelle nach dem comma.The JavaScript-Code einen weniger Digit in Vergleich mit dem C# Code erzeugt. Hier
ist der einfache Code Node.js
var seed = 45;
var x = Math.sin(seed) * 0.5;
console.log(x);//0.4254517622670592
Hier ist die einfache C# -Code
public String pseudorandom()
{
int seed = 45;
double num = Math.Sin(seed) * (0.5);
return num.ToString("G15");//0.42545176226705922
}
Wie die gleiche Präzision erreichen?
Sie vergleichen die Ergebnisse der beiden Sprachen, indem Sie die numerische Form in eine Zeichenfolge konvertieren. Was versuchst du wirklich zu erreichen? Was genau ist Ihr Interesse an "Präzision"? Beide Sprachen verwenden den nativen IEEE 754 Fließkommawert. – Pointy
Ich versuche, die gleiche Präzision zu erreichen. Ich kann Ihre negative Stimme nicht verstehen. – PrOgrAMmer
Ich habe nicht downvote; Ich versuche nur herauszufinden, was du zu tun versuchst. Sie drucken den numerischen Wert aus. In beiden Fällen wird der Wert in eine Zeichenfolge konvertiert, damit er gedruckt werden kann.Es gibt keine Garantie dafür, dass die Regeln beider Sprachen identisch sind. – Pointy