c# - Convert a string in a label to int not working properly -


i have following code:

int = int32.parse(weight.text); double b = 0;  if (this.wcf.selecteditem == weighing) {     b = (a * 1.03) / 1000;     wll.content = b.tostring(); } 

weight name of textbox , in textbox input made 50000. wll label calculation of b shown. wll shows 51.5 correct.

i want use value of b in calculation further down , therefore have defined new int:

int p = convert.toint32(b); double g = 0;            double sq = math.sqrt(50 / p); 

the value of sq should 0,985 , shown in label daf, program shows 1,492. not correct here, can me?

g = (1.09 + (0.41 * sq)); daf.content = g.tostring(); 

beware of this:

int p = convert.toint32(b); double g = 0;           double sq = math.sqrt(50 / p); //int/int 

this make have math.sqrt(int), losing precision. instead, should do:

double sq = math.sqrt(50d / p); //double/int 

or

double sq = math.sqrt((double)50 / p); //double/int 

or

double sq = math.sqrt(50.0 / p); //double/int 

declare 50 double

in addition, since b can have result of non-integer, may want change line too:

int p = convert.toint32(b); //same issue losing precision 

into

double p = convert.todouble(b); //use double instead 

Comments

Popular posts from this blog

Hatching array of circles in AutoCAD using c# -

ios - UITEXTFIELD InputView Uipicker not working in swift -

Python Pig Latin Translator -