# VBForums CodeBank > CodeBank - Other >  [Lua] Temperature Converter

## dday9

Here is a simple temperature converter code written in Lua. It first ask for the user to enter in some value for the degrees in which will be converted. Then it ask the user to chose to convert Fahrenheit to Celsius or vise-versa. Then depending on which operation the user chose, it will convert the degrees and print out the new value.



```
--Our functions to convert Fahrenheit to Celsius and vise-versa
function fahrenheit_to_celsius(fahrenheit)
	return (fahrenheit - 32) * 5 / 9
end

function celsius_to_fahrenheit(celsius)
	return celsius * 9 / 5 + 32
end

--Inifinite loop
while true do

	--The value to convert
	val = nil

	repeat

		io.write("Enter in a degrees value: ")
		temp = io.read()

		if tonumber(temp) then
			val = tonumber(temp)
		else
			io.write("That was an invalid number.\n")
		end


	until val ~= nil --Loop until the user enters in a valid number

	menu = nil

	repeat

		io.write("\nConvert Fahrenheit to Celsius: 1\n")
		io.write("Convert Celsius to Fahrenheit: 2\n")
		io.write("Chose option 1 or option 2: ")
		temp = io.read()

		if tonumber(temp) then
			temp = tonumber(temp)

			if temp == 1 or temp == 2 then
				menu = tonumber(temp)
			else
				io.write(temp .. " is an invalid option.\n")
			end
		else
			io.write(temp .. " is an invalid number.\n\n")
		end


	until menu ~= nil --Loop until the user enters in a valid menu option

	--The converted degrees
	newVal = nil

	--Do the conversion
	if menu == 1 then
		newVal = fahrenheit_to_celsius(val)

		io.write("\n" .. val .. " degrees Fahrenheit is " .. newVal .. " degrees Celsius\n")
	else
		newVal = celsius_to_fahrenheit(val)

		io.write("\n" .. val .. " degrees Celsius is " .. newVal .. " degrees Fahrenheit\n")
	end

	io.write("Press the enter key to restart.")
	io.read()

	-- I operate in windows, if you use a version of Unix then replace cls with 'clear'
	os.execute("cls")


end
```

----------

