db converts decimal number wrong

Within $wpdb->insert, you are using %d which is used to store integer, use %f instead which will store float/decimal values.

$registrering = $wpdb->insert( 
    $wpdb->prefix . 'registreringer',
    array(
        'fiske_vaegt'       => $fiske_vaegt
    ),
    array(
        '%f'
    )
);

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)