P
pargat.singh
Hi Everyone:
Please help as i need to write some rounding function in C#. i
Wrote one but does not give me correct result. Can some one please
correct me
C# Codes
#########################################################################
dblVal = 1234567.89
private int ThreeSifFig(double dblVal)
{
int lngvalue;
int threesigfig;
int lngvaluelen;
lngvalue = (int)(Math.Abs(dblVal));
lngvaluelen = lngvalue.ToString().Length;
if ((lngvaluelen <= 1))
{
threesigfig = 0;
}
else if ((lngvaluelen <= 3))
{
threesigfig = (lngvalue / 10) * 10;
}
else
{
threesigfig = (lngvalue / 10 ^ (lngvaluelen - 3) * 10) ^
(lngvaluelen - 3);
}
if ((dblVal < 0))
{
threesigfig = (threesigfig * -1);
}
return threesigfig;
}
Return Result is 123500 but the expected result is 1230000
###########################################################################
VB.NET code which return correct result
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim sval As Double = 1234567.89
Dim lngvalue, lngvaluelen As Long
Dim threesigfig As Long
lngvalue = Int(Math.Abs(Val(sval)))
lngvaluelen = Len(CStr(lngvalue))
If lngvaluelen <= 1 Then
threesigfig = 0
ElseIf lngvaluelen <= 3 Then
threesigfig = Int(lngvalue / 10) * 10
Else
threesigfig = Int(lngvalue / 10 ^ (lngvaluelen - 3)) * 10
^ (lngvaluelen - 3)
End If
If sval < 0 Then
threesigfig = threesigfig * -1
End If
End Sub
Result is 1230000 [Correct]
Thanks in advance.
Please help as i need to write some rounding function in C#. i
Wrote one but does not give me correct result. Can some one please
correct me
C# Codes
#########################################################################
dblVal = 1234567.89
private int ThreeSifFig(double dblVal)
{
int lngvalue;
int threesigfig;
int lngvaluelen;
lngvalue = (int)(Math.Abs(dblVal));
lngvaluelen = lngvalue.ToString().Length;
if ((lngvaluelen <= 1))
{
threesigfig = 0;
}
else if ((lngvaluelen <= 3))
{
threesigfig = (lngvalue / 10) * 10;
}
else
{
threesigfig = (lngvalue / 10 ^ (lngvaluelen - 3) * 10) ^
(lngvaluelen - 3);
}
if ((dblVal < 0))
{
threesigfig = (threesigfig * -1);
}
return threesigfig;
}
Return Result is 123500 but the expected result is 1230000
###########################################################################
VB.NET code which return correct result
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim sval As Double = 1234567.89
Dim lngvalue, lngvaluelen As Long
Dim threesigfig As Long
lngvalue = Int(Math.Abs(Val(sval)))
lngvaluelen = Len(CStr(lngvalue))
If lngvaluelen <= 1 Then
threesigfig = 0
ElseIf lngvaluelen <= 3 Then
threesigfig = Int(lngvalue / 10) * 10
Else
threesigfig = Int(lngvalue / 10 ^ (lngvaluelen - 3)) * 10
^ (lngvaluelen - 3)
End If
If sval < 0 Then
threesigfig = threesigfig * -1
End If
End Sub
Result is 1230000 [Correct]
Thanks in advance.