Comparing Decimal Values In C#
Feb 22, 2010I have a few values in c#, how do i compare if a variable is equal to 5.5 ?
here is my code
double res = 4.5;
double ehi = 5.5 ;
bool
ehi= decimal.Compare( res, ehi);
I have a few values in c#, how do i compare if a variable is equal to 5.5 ?
here is my code
double res = 4.5;
double ehi = 5.5 ;
bool
ehi= decimal.Compare( res, ehi);
I'm trying to execute this statement every minute with SQL Agent, I have it set up as a job:
[Code]....
It's trying to update a column which data type is set to decimal. Just so you know what I really need out of it, here is an example:
[Code]....
The answer of which should add on 0.5 to the original value. If I were to use the increase value of 60 which then becomes 60/60 it will work.I'm dividing by 60 because the increase value is per hour so I make it smaller to get per minute value. Why is it doing this?
I have records that have an initial value of 'blue' and stay 'blue' until after 2 days then they turn to 'green', Turn 'orange' after 15 days and then after 20 days turn 'red'.The results will be pulled into a gridview.What I'm having difficulty is; what's the best way of calculating the days, in sql server or in c#?Trying to get construct date examples is proving to be a bit of a pain:
[Code]....
has anyone done something similar and found a good way of doing this?
I have a problem that I have to enter float values in my database from a textbox. The problem is I want to enter only float values upto two decimal places(like 12.34, 56.78, etc). How do I do this.? Do I need to first convert the values from my textbox (string values) to Int64 before submitting?
My second problem is that I have to compare that float value in my database to a value in another text box. I am using this sort of code:
[Code]....
I have a table with 5 rows and 2 columns. Each cell contains a text box. I want to show error if one of the text boxes in each column is empty. I want both text boxes in a row shld be filled or both shld empty. How can i do this via Asp.net validation controls? I want to extend CompareValidator so that it will validate only if the controlToValidate and controlToCompare both have some text in it or both are empty.
View 1 RepliesI have a stored procedure, which I'm calling from ASP.Net application. I'm facing a problem in stored procedure when comparing values.Please check code below to get further details.
Stored Procedure:
ALTER PROCEDURE [dbo].[MyStoredProcedure]
(@ItemID nvarchar(50), @Weight1 float, @Weight2 float)
-- check remaining/available weight in items table
DECLARE @RemainingWeight float
SET @RemainingWeight = (SELECT RemainingWeight FROM items WHERE ItemID = @ItemID)
[code]...
I am dealing with dynamic fields in a for loop and now I need to retrieve the values that are being typed in the dynamic fields, any idea how can I do that? 2)also when I click the submit button, upon postback, the dynamic fields have gone missing, have been trying to slove that, but i did not, anyone knows how to deal with this? kinda urgent :x
3) and How do you compare the 2 dynamic fields? For eg: Im comparing the tbSch[i] to tbSch[i], so that the dates cannot be the same, am using a compare validator, but it throws me error that im comparing the same fields :) even though i change to ("tbSch" + i) for both, sorry Will provide my code snippet as follow :D tbNum is a textbox where user enter numbers and click generate
protected void btnGen_Click(object sender, EventArgs e)
{
for (int i = 0; i < Convert.ToInt32(tbNum.Text); i++)
{
// label and textbox needed
Label lblSch = new Label();
TextBox tbSch = new TextBox();
Label lblWsGrp = new Label();
DropDownList ddlWsGrp = new DropDownList();
CompareValidator cvSame = new CompareValidator();
cvSame.ID = "cvSame" + i;
cvSame.ErrorMessage = "Date cannot be the same";
cvSame.Operator = ValidationCompareOperator.NotEqual;
cvSame.Type = ValidationDataType.Date;
cvSame.Display = ValidatorDisplay.Dynamic;
cvSame.EnableViewState = true;
cvSame.ControlToValidate = (tbSch.ID);<<<<< what should be the value in here?
cvSame.ControlToCompare = (tbSch.ID);<<<<<<<<<< and here?
//schdule date
lblSch.ID = "lblSch" + i;
lblSch.Text = "Session Date : ";
lblSch.EnableViewState = true;
tbSch.ID = "tbSch" + i;
tbSch.Width = 210;
tbSch.Height = 27;
tbSch.EnableViewState = true;
//workshop grp
lblWsGrp.ID = "lblwsgrp" + i;
lblWsGrp.Text = "Workshop Group : ";
lblWsGrp.EnableViewState = true;
ddlWsGrp.ID = "ddlWsGrp" + i;
ddlWsGrp.Height = 27;
ddlWsGrp.Width = 210;
ddlWsGrp.EnableViewState = true;
ddlWsGrp.Items.Add("1");
ddlWsGrp.Items.Add("2");
//table to store data
TableRow trow = new TableRow();
TableRow trow2 = new TableRow();
//row1
TableCell tc1 = new TableCell();
TableCell tc2 = new TableCell();
TableCell tc3 = new TableCell();
TableCell tc4 = new TableCell();
//row2
TableCell tc5 = new TableCell();
TableCell tc6 = new TableCell();
TableCell tc7 = new TableCell();
TableCell tc8 = new TableCell();
TableCelltc9 = new TableCell();
tc1.Controls.Add(lblSch);
tc2.Controls.Add(tbSch);
tc3.Controls.Add(lblWsGrp);
tc4.Controls.Add(ddlWsGrp);
tc5.Controls.Add(space);
tc6.Controls.Add(CeSess);
tc7.Controls.Add(space);
tc8.Controls.Add(space);
tc9.Controls.Add(cvSame)
trow.Cells.Add(tc1);
trow.Cells.Add(tc2);
trow.Cells.Add(tc3);
trow.Cells.Add(tc4);
trow2.Cells.Add(tc5);
trow2.Cells.Add(tc6);
trow2.Cells.Add(tc7);
trow2.Cells.Add(tc8);
trow2.Cells.Add(t9);
this.table3.Rows.Add(trow);
this.table3.Rows.Add(trow2);
}
}
I am using MaskedEditExtender on my textbox.Set the masktype to number.Now the user can enter decimals also at any place to my textbox.Is it possible for my MaskedEditExtender to still accept that or I have to use custom javascript/ regex for this.
View 5 RepliesI try to add decimal values to a access db, but it is inserted without any separator. Here's how I do it...
[Code]....
How to display a decimal value in the gridview. Say if user enters a value 0.5, it got inserted into DB as 0.5, but while diplaying it back on the the front end , it is displayed as 0.50.How to avoid this scenario.And also the user should be able to enter 5 places after the decimal point.Like 0.12345 is acceptable
View 2 RepliesI have my form set in french as well, and it automatically changes the text format to use ','. However When I try to insert my values into the database it says cannot convert nvarchar to decimal? Worst case, Is there a way I can disable the numbers from changing to use ',' and just use '.' always regardless what language it is?
View 1 RepliesUsing sql server and trying to insert decimal values using a ASP.NET C# code. I get the value for hours from a text box through user input and I'm trying to insert it to the database.
strSQLWAUpdate = " UPDATE Project SET WAHours='" + txtWAHours.Text + "' WHERE WAProjectID='" + hidWAProjectID.Value + "' ";
What happens is it rounds off the hours to interger value. So if I insert 22.3 in the text box what i get in the database is 22 and if I insert 22.7 I get 23 in the database. I do not need any rounding but need to get the values as it is. ( that is 22.3 and 22.7 respectively)
[Code]....
I am trying to store decimal values from detailview. But it doesn't work. It stores decimal values after rounding. Let's say if I enter length/width as 4.2000 then in sql it stores as 4.0I am using sql server 2008 and the field is defined as decimal(8,4).I tried diff combination but nothing is working.
i have textbox it should accept only integer or float values..........
View 1 RepliesFor Asp.Net Charts i m able to show value by setting the property as
Chart.Series(Series1).IsValueShownAsLabel=True
I want the shown values to be formatted in terms of decimal places and a thousand separator
Chart.Series(Series1).LabelFormat = "0:#.##" is Not Working
i hav one data table in which some decimal values are up 6 decimal places.. im trying to bind that Data table to DataGridView while binding i want to round decimal values up to two decimal palces here is my code
dt.Columns.Add("Orderid", typeof(string));
dt.Columns.Add("tagnumber", typeof(string));
dt.Columns.Add("Minimum Value", typeof(string));
dt.Columns.Add("Maximum Value", typeof(string));
int count = ds.Tables[0].Rows.Count;
for (int i = 0; i < count; i++)
[code]...
hows hould i round up while binding..?
I was read your post: "Export GridView to Excel in ASP.Net with Formatting using C#" and is very useful. That code works perfect. But I need create a new format for a specific column in my sheet before to export it. For example:My DataTable have a column with decimal numbers and I'm trying reduce the tenths for each number.I want this: 2,874444 ----> 2,87 for a specific range. In this case I need it for all numbers in the column 13 or well said for the Column called N in Excel. Only reduce two tenths.
I used:
xlWorkSheet.Range["N"+h,"N"+h].NumberFormat = "0.00";
And no works (h is for rows, N is the column. Into a foreach).
Some values are returning 2.0 but I need it to be 2.00 as this is a money value that is displayed to the web page.
I am doing:
Math.Round(value, 2);
Is there a way to force it to 2 numbers after the decimal?
I have a gridview, which on the row data bound method that inserts a row when comparing values on a particular field. If the two values are different, a new row is inserted, if not no row is inserted. This coding is working as a grouping gridview, and is working correctly. However, I have problem, and problem is counting the rows between each group, which I want to display in my blank row between each group, the value of which I am holding in a hiddenfield.
When I try to do it, the first group doesn't show the result, but is displayed on the next group. I am pretty sure that I am doing something wrong. My approach is that if the value between the last row and the existing row are different, then the value is one, on the next row data bound event, if the values are the same then the value is increased by one, else the value is one because it is a new group. Here is my code:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
Table tbl = e.Row.Parent as Table;
TableCell cell = new TableCell();
CheckBox chk = new CheckBox();
Label lbl2 = new Label();
HiddenField rowValue = new HiddenField();
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Visible = false;
}
else
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Session["count"] = 1;
Label lbl = (Label)e.Row.FindControl("lblValue");
string str1 = ((Label)(lbl)).Text;
string prevStr= (string)Session["previousStr"];
if (prevStr== str1)
{
lbl.Visible = false;...................
I need a validation regex for decimal. It should allow upto 5 digits after decimal.
Allow:
1
1.0
12.0
12.01
123.01
1,123.01
1,123.013
21,123.01234
3,21,123.01234
How Can I do regex for this?
I got a decimal member in my viewmodel and get populated from the database (say 55.5, or 100.00)
In my view I use TextBoxFor<> for this member.
Is there any way to have a number (it's actually a percentage) like 100.00 display as 100 instead, and 55.50 as 55.5?
int Def[0] = {6};
iMaxValue = 55;
decimal val = Decimal.Round(Convert.ToDecimal((DefCount[I]) / iMaxValue),3);
here if i try to run this it says answer 0 ; but if i want 0.1090
i have a simple application which i couldnt run correctly. My codes;
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
protected void Page_Load(object sender, EventArgs e)....
When i run that page, and enter the same number with label1 to textbox1 and click to the button, first label1 changes to another number and so the comparement does not match.
How can I compare the data using ADO.NET. I have wrote the following code but don't know what to do next
Code:
Sub LoginCheck()
Dim Conn As OleDbConnection
Dim DbCmd As OleDbCommand
Dim SqlCmd As String
Dim DbRead As OleDbDataReader
Dim MyDbPath As String
MyDbPath = "C:Documents and SettingsAdministratorMy DocumentsVisual Studio 2008WebSitesHwManApp_Data/hwMan.mdb"
Conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & MyDbPath)
Conn.Open()
SqlCmd = "Select * from UserInfo where UserId='" & txtUserName.Text & "' and UserPass='" & txtPassword.Text & "'"
DbCmd = New OleDbCommand(SqlCmd, Conn)
End Sub
I am a c#/asp.net developer and I am having to work on a VB/asp.net. I started out with VB.NET but after years away from it I'm getting confused with the syntax.
I have two variables
Dim originalDate as DateTime?
Dim newDate as DateTime?
Both nullable datetimes, originalDate is a nullable date I am getting from the database and newDate time is set in code, I need to compare them, they can either both have dates, neither have dates or one have and one not.
I have a bit of code as follows:
if origEndDate = origEndDate then
When both origEndDate and origEndDate are "nothing" this statement is false (well when I run it in the watch window it comes back as nothing)!
I don't understand why this is the case because I was under the impression doing an "=" compares the two values and as they are the same surely it should be true?
What syntax should I be using as in C# I can do the above as so:
if (origEndDate == origEndDate) { }
and it will come back as true.