WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Conversion UDFs

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Temperature Conversions

;***************************************************************************
;; DegreeConvert(temperature, "initial2final")
;; 
;; temperature   - any numeric value, makes no allowance for absolute zero
;;
;; initial2final - string of the form "C2F" {C2F==Celsius to Fahrenheit}
;;                 C = Celsius, K = Kelvin, F = Fahrenheit, R = Rankine
;***************************************************************************
GOSUB DefineUDFs

;;Debugging Only

t1=DegreeConvert(0,"C2F")
t2=DegreeConvert(0,"C2K")
t3=DegreeConvert(0,"C2R")
t4=DegreeConvert(32,"F2C")
t5=DegreeConvert(32,"F2K")
t6=DegreeConvert(32,"F2R")
t7=DegreeConvert(77.2,"K2C")
t8=DegreeConvert(77.2,"K2F")
t9=DegreeConvert(77.2,"K2R")
t10=DegreeConvert(671.67,"R2C")
t11=DegreeConvert(671.67,"R2F")
t12=DegreeConvert(671.67,"R2K")
mess=StrCat(t1,@CRLF,t2,@CRLF,t3,@CRLF,t4,@CRLF,t5,@CRLF,t6,@CRLF)
mess=StrCat(mess,t7,@CRLF,t8,@CRLF,t9,@CRLF,t10,@CRLF,t11,@CRLF,t12,@CRLF)
Message(1, mess)
Exit

;***************************************************************************
;***************************************************************************
; Temperature Conversion References
; CRC Handbook:               www.hbcpnetbase.com/ 
; NRC Measurement Standards:  www.thermometry.inms.nrc.ca/thermometry/ITS-90.htm
;
; Celsius=(Fahrenheit-32)*(5/9), Defined by Water bp=100C, fp=0C
; Fahrenheit=(9/5)*Celsius +32,  Defined by Water bp=212F, fp=32F
; Kelvin=Celsius+273.15          Define Zero entropy at 0K (-273.15C), tp=273.16K, 1K=1C 
; Rankine=Fahrenheit+459.67      Define Zero entropy at 0R, 1R=1F
;
;                          Fahrenheit  Celsius  Kelvin   Rankine
;Absolute Zero             -459.67     -273.15     0         0
;Liquid Helium (boiling)   -452.1      -268.9      4.2       7.6 
;Liquid nitrogen (boiling  -321.07     -196.0     77.2     138.6
;Water (freezing)            32           0      273.15    491.67
;Water (boiling)            212         100      373.15    671.67
;***************************************************************************
;***************************************************************************
:DefineUDFs
#DefineFunction DegreeConvert(degrees, fromto)
	Decimals(2)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Celsius conversions    ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	If StrUpper(fromto)=="C2F"
   	fahrenheit=(1.80*degrees)+32.0
		degrees=fahrenheit
	Endif

	If StrUpper(fromto)=="C2K"
   	kelvin=degrees+273.15
		degrees=kelvin
	Endif

	If StrUpper(fromto)=="C2R"
   	rankine=(1.80*(degrees+273.15))
		degrees=rankine
	Endif

;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Fahrenheit conversions ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	If StrUpper(fromto)=="F2C"
		celsius=(degrees-32.0)*(5.0/9.0)
		degrees=celsius
	Endif

	If StrUpper(fromto)=="F2K"
		kelvin=((degrees-32.0)*(5.0/9.0))+273.15
		degrees=kelvin
	Endif

	If StrUpper(fromto)=="F2R"
   	rankine=degrees+459.67
		degrees=rankine
	Endif

;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Kelvin conversions     ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	If StrUpper(fromto)=="K2C"
   	celsius=degrees-273.15
		degrees=celsius
	Endif

	If StrUpper(fromto)=="K2F"
   	fahrenheit=((9.0/5.0)*(degrees-273.15))+32
		degrees=fahrenheit
	Endif

	If StrUpper(fromto)=="K2R"
   	rankine=(9.0/5.0)*degrees
		degrees=rankine
	Endif


;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Rankine conversions    ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	If StrUpper(fromto)=="R2C"
		celsius=((5.0/9.0)*degrees)-273.15
		degrees=celsius
	Endif

	If StrUpper(fromto)=="R2F"
		fahrenheit=degrees-459.67
		degrees=fahrenheit
	Endif

	If StrUpper(fromto)=="R2K"
   	kelvin=(5.0/9.0)*degrees
		degrees=kelvin
	Endif

	Return degrees
#EndFunction

Return


Article ID:   W15007
File Created: 2001:11:08:12:41:20
Last Updated: 2001:11:08:12:41:20