3

How can I convert from an ASP.NET Unit structure to int in c#? Or reverse?

3
  • What unit? do you mean the ASP.NET Unit class? Commented May 18, 2010 at 8:45
  • 1
    (it's a structure) msdn.microsoft.com/en-us/library/… Commented May 18, 2010 at 8:45
  • asp.net unit like webcontrol.height Commented May 18, 2010 at 8:46

7 Answers 7

12

The Unit type has a Value property. This is a double, but you can cast it to an int if you want. The casting may cause a loss of precision, but you are probably aware of that.

To create a Unit just use the constructor that takes an int.

Sign up to request clarification or add additional context in comments.

Comments

3

If you mean the Unit class:

The Unit class can represent values only between -32768 and 32767.

But it depends if you want the Pixel or Percentage value.

  • myUnit.Value will get the value as pointed out.
  • Use the constructor public Unit(int value) to convert back.

If you mean a uint: there's 2 possible obvious ways:

int n = Convert.ToInt32(myUint);
int n = (int)myUint;

Comments

2

For ASP.NET Unit:

unit.IsEmpty ? 0 : Convert.ToInt32(unit.Value);

Comments

1

Use Unit.Value property. It will return double and you can cast it to int

Something like (int)xyz.Value

WEhere xyz is the unit variable

To convert int to unit use new Unit(value)

Comments

0

Probably he need this:

 int myInt = 1;
 uint myUint = (uint)myInt;

 uint myUint = 1;
 int myInt = (int)myUint;

1 Comment

Your code will not work properly in many cases ... You need to use the Convert Object to convert from int to Uint and reverse
0

The Value property returns a dobule, that you can convert to an integer:

int h = (int)someControl.Height.Value;

However, the conversion might not make sense for some unit types. If you don't know for certain that the unit is of a specific type, you would want to check the Type property first.

Comments

-1
Convert.Toint32( UInt );

I guess u meant UInt not Unit

EDIT : Ok thought you meant uint sorry

3 Comments

Just keep in mind that there is a big difference between UInt and Int32. When converting them you might end up with a wrong result (if the UInt exceeds 2147483647).
Thats always the risk when converting different numbers
Not when converting Int32 to Int64 or short to long etc. ;)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.