案例1
double a=033.0 //works fine
案例2
<form method="post" action="">
<input type="string" name="word">
<input type="submit">
</form>
<?php
if( $_SERVER['REQUEST_METHOD']=='POST' ){
if ( isset( $_POST["word"] ) ) {
$word = $_POST["word"];
echo $word . " -> ";
function translate( $word=false ){
if( $word ){
$dict = array('hello' => 'sawadee khap','thanks' => 'kap khum khap','sorry' => 'mai pen rai');
foreach ($dict as $en => $th) {
if( $word == $en ) {
return $th;
}
}
}
return false;
}
$result=translate( $word );
echo $result ? $result : 'Sorry, not found!';
} else {
echo "enter a word";
}
}
?>
为什么案例1显示错误而不是案例2,反之亦然?
答案 0 :(得分:0)
默认情况下,java使用double类型来存储浮点值。因为你在float中存储double(向下转换),java会抛出一个错误。它可以通过两种方式解决
浮动a = 033.0f
浮动a =(浮动)033.0
答案 1 :(得分:0)
case 1 ---- float a = 033.0 //显示编译问题
案例2 ----双a = 033.0 //工作正常
在Java中,十进制数被解释为double,因此无法自动执行从double到float的转换,因此您需要这样给出: float a = 033.0f;
答案 2 :(得分:0)
它只是对Java语法的理解。 您可以阅读java的Primitive数据类型。 你可以在任何地方得到它......
链接:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
指向此链接,执行ctrl + F,&amp;粘贴这个&#34;浮点字面值&#34;。 你不会浪费时间游荡......
为了您自己的方便,您可以更喜欢这个。
float fractionNumber = 25.24F; fractionNumber = 25.24f;
double greaterFractionNum = 56.65555D;
greaterFractionNum = 56.65555;
但总的来说就像这样......以后你会习惯它。
float foo = 34.4F;
double doo = 34.4; 立即实施! ...体验它,理解它......&amp;你永远不会忘记它。 :)