[英]why does java and c# differ in simple Addition
我有兩個片段,一個用Java編寫,一個用c#編寫 。
float a = 1234e-3f;
float b = 1.23f;
float ca = 1.234e3f;
float d = 43.21f;
long e = 1234L;
int f = 0xa;
int g = 014;
char h = 'Z';
char ia = ' ';
byte j = 123;
short k = 4321;
System.out.println(a+b+ca+d+e+f+g+h+ia+j+k);
Java代碼段返回7101.674
並在c#
float a = 1234e-3f;
float b = 1.23f;
float ca = 1.234e3f;
float d = 43.21f;
long e = 1234L;
int f = 0xa;
int g = 014;
char h = 'Z';
char ia = ' ';
byte j = 123;
short k = 4321;
Console.WriteLine(a+b+ca+d+e+f+g+h+ia+j+k);
得到7103.674的結果。
為什么我關閉的2,什么是正確的?
區別在於
int g = 014;
對於Java( 014 == 12
),它是八進制 ,對於C#( 014 == 14
),它是十進制 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.