簡體   English   中英

為什么java和c#在簡單的添加方面有所不同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM