[fpc-devel] StdConvs: conversion to/from Kelvin is wrong?
Bart
bartjunk64 at gmail.com
Sun May 29 22:41:45 CEST 2022
Fpc 3.3.1
===
D := ConvUtils.Convert(100.0, tuCelsius, tuKelvin);
write('100.0 Celsius --> ',D:12:4,' Kelvin --> ');
D := ConvUtils.Convert(D, tuKelvin, tuCelsius);
writeln(D:12:4, ' Celsius');
D := ConvUtils.Convert(100.0, tuFahrenheit, tuKelvin);
write('100.0 Fahrenheit --> ',D:12:4,' Kelvin --> ');
D := ConvUtils.Convert(D, tuKelvin, tuFahrenheit);
writeln(D:12:4, ' Fahrenheit');
D := ConvUtils.Convert(100.0, tuRankine, tuKelvin);
write('100.0 Rankine --> ',D:12:4,' Kelvin --> ');
D := ConvUtils.Convert(D, tuKelvin, tuRankine);
writeln(D:12:4, ' Rankine');
D := ConvUtils.Convert(100.0, tuReamur, tuKelvin);
write('100.0 Reamur --> ',D:12:4,' Kelvin --> ');
D := ConvUtils.Convert(D, tuKelvin, tuReamur);
writeln(D:12:4, ' Reamur');
===
Outputs:
100.0 Celsius --> 100.0000 Kelvin --> 100.0000 Celsius
100.0 Fahrenheit --> 55.5556 Kelvin --> 100.0000 Fahrenheit
100.0 Rankine --> 55.5556 Kelvin --> 100.0000 Rankine
100.0 Reamur --> 125.0000 Kelvin --> 100.0000 Reamur
I think the correct output should be
100.0 Celcius --> 373.1500 Kelvin --> 100.0000 Celcius
100.0 Fahrenheit --> 310.9278 Kelvin --> 100.0000 Fahrenheit
100.0 Rankine --> 55.5556 Kelvin --> 100.0000 Rankine
100.0 Reamur --> 398.1500 Kelvin --> 100.0000 Reamur
See https://en.wikipedia.org/wiki/Conversion_of_units#Temperature
There is adding/subtracting involved in the calculations, not jus a
single conversion factor.
--
Bart
More information about the fpc-devel
mailing list