我有一个类型为div a b
的函数。当我使用div a b
作为函数中变量的值时,如果<html>
<head>
</head>
<body>
<form action="insertform.php" method="post">
Topic: <input type="text" name="topic"><br />
Name: <input type="text" name="name"><br />
Attendance: <input type="text" name="attendance"><br />
Image: <input type="file" name="image"><br />
<input type="submit" name="submit">
</form>
<?php
if (isset($_POST['submit'])){
$con = mysql_connect("localhost","username","password");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("testingisfun",$con);
$sql = "INSERT INTO Lectures (Topic,Name,Attendance,Image) VALUES ('$_POST[topic]', '$_POST[name]', '$_POST[attendance]', '$_POST[image]')";
mysql_query($sql,$con);
mysql_close($con);
}
?>
</body>
</html>
的返回值为1/2或任何两倍的值,则该值将向下舍入为0.
这是对的吗?如果将double强制转换为整数,那么Haskell是否会像java一样削减值?
答案 0 :(得分:8)
div 1 2
不返回0.5,然后将其转换为整数0.它首先返回0。 div
执行整数除法,因此总是返回一个整数(或其他Integral类型,具体取决于您使用它的类型)。没有双打。
将double转换为整数时,舍入方法取决于您使用的方法。例如,floor
将向下舍入数字,而round
将舍入到最接近的整数。 Haskell中没有隐式转换,因此任何转换都将通过函数进行。
答案 1 :(得分:3)
Haskell是否像java中一样切断了值
不,不。
在执行整数除法时,Java将向零舍入,而Haskell向向下舍入;所以在Haskell
\> (-9) `div` 10
-1
而在Java -9 / 10
中为零:
public class IntDiv{
public static void main(String []args){
double a = (-9) / 10;
System.out.printf("%.2f\n", a); // would print 0.00
}
}