I have read these:
They explain "how". I'd like to know why it's different across these languages. I expected similar results given the same input.
test.js
#!/usr/bin/env node
var nine = 9.0;
var pointOhOhOne = 0.001;
var result = nine * pointOhOhOne;
console.log(result);
test.java
public class test {
public static void main(String[] argv) {
double nine = 9.0d;
double pointOhOhOne = 0.001d;
double result = nine * pointOhOhOne;
System.out.println(result);
}
}
test.c
#include "stdio.h"
int main() {
double nine = 9.0;
double pointOhOhOne = 0.001;
double result = nine * pointOhOhOne;
printf("%f", result);
}
test.rb
#!/usr/bin/env ruby
nine = 9.0
pointOhOhOne = 0.001
result = nine * pointOhOhOne
print result
test.py
#!/usr/bin/env python
nine = 9.0
pointOhOhOne = 0.001
result = nine * pointOhOhOne
print result
results:
ruby 0.009000000000000001
python 0.009
node 0.009000000000000001
java 0.009000000000000001
c 0.009000