Column value can be Two integer post decimal or blank

Hi Experts,
Need your advice.

I have a csv file in which column value can contain two integer post decimal(like 1.00, 13.00,12.15, 2.43) or blank.

Tried the below code but not working.

awk -F "|" '{
if ($39 !~ /^[0-9]+\.[0-9]{2}$ || $39 != "") {print "165: Quantity decimal values are not correct or contain space","Field position 37, Linenumber:"NR,$0}
if ($39 !~ /[0-9]+\.[0-9][0-9]$/ || $39 != "") {print "165: Quantity decimal values are not correct or contain space","Field position 37, Linenumber:"NR,$0}
}

It is always throwing value printed in brackets{} if correct pattern is present in file also.

Sample File:
Column are separated by |

C1|C2|
||12.00|

How far would

awk '$1 != sprintf("%.2f", $1)' file

get you?

Hi Guys,

thank you
This error is resolved now.