LCD prints variable as gibberish

I’m using a tipping bucket for meassuring rainfall. I read it with button.h and it works fine.
It increments nicely and print the correct value to serial all the time.
The LCD prints my text nicely but the variable is somehow misinterpreted and show as odd symbols. They do change with the increments however.
What am I missing here?

#include <Button.h>     
#include <LiquidCrystal.h>
// #include <Wire.h>

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

#define BUTTON_PIN 2      // forbindes til gnd
#define PULLUP true        
#define INVERT true
#define DEBOUNCE_MS 0  

int tip = 0;    

Button maaler(BUTTON_PIN, PULLUP, INVERT, DEBOUNCE_MS);    
// Button nultil(BUTTON_PIN, PULLUP, INVERT, DEBOUNCE_MS);   
// Button taendDisplay(BUTTON_PIN, PULLUP, INVERT, DEBOUNCE_MS);


void setup() { 
  Serial.begin(9600);
  pinMode(13, OUTPUT); // sluk onboard LED 
  digitalWrite(13,LOW); // sluk onboard LED  
  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  lcd.clear();
  lcd.write("Regn: ");
}

void loop()
{
Serial.println(tip);
lcd.setCursor(0,1);
lcd.write(tip);
maaler.read();                   
if (maaler.wasPressed()) {     
tip++;
  } 
}
lcd.write(tip);

Try using print instead. The characters you see are the ascii characters that go with whatever number you are sending. You want to send an ascii representation of the number, not raw ascii codes.

You use print for serial, but write for the LCD. Why?