2010-05-18 7 views
3

Comment puis-je convertir une structure ASP.NET Unit int en C#? Ou inverser?System.Web.UI.WebControls.Unit à int en C#

+0

Quelle unité? voulez-vous dire la classe d'unité ASP.NET? –

+1

Voulez-vous dire «uint»? – Gorpik

+1

(c'est une structure) http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.unit.aspx –

Répondre

-1
Convert.Toint32(UInt); 

Je suppose que u signifie pas UInt Unité

EDIT: Ok vous pensiez que voulais dire uint désolé

+0

Gardez juste à l'esprit qu'il y a une grande différence entre UInt et Int32. En les convertissant vous pourriez vous retrouver avec un mauvais résultat (si l'UInt dépasse 2147483647). –

+0

C'est toujours le risque lors de la conversion de différents nombres – KroaX

+0

Pas lors de la conversion Int32 en Int64 ou court à long etc;) –

0

Probablement il besoin ceci:

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

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

Votre code ne fonctionnera pas correctement dans la plupart des cas ... Vous devez utiliser l'objet Convert pour convertir d'int en Uint et inverser – KroaX

1

Utilisez la propriété Unit.Value. Il retournera double et vous pouvez le jeter aux int

Quelque chose comme (int)xyz.Value

WEhere xyz est l'unité de variable

Pour convertir int à l'unité utilisation new Unit(value)

11

Le type d'unité a une Value property. C'est un double, mais vous pouvez le convertir en un int si vous le souhaitez. La coulée peut entraîner une perte de précision, mais vous en êtes probablement conscient.

Pour créer une unité il suffit d'utiliser la constructor that takes an int.

3

Si vous voulez parler de la Unit classe:

La classe d'unité peut représenter des valeurs seulement entre -32768 et 32767.

Mais cela dépend si vous voulez que la valeur de pixel ou en pourcentage .

  • myUnit.Value obtiendra la valeur comme indiqué.
  • Utilisez le constructorpublic Unit(int value) pour reconvertir.

Si vous voulez dire un uint: il y a 2 façons possibles évidentes:

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

1

Pour ASP.NET: Unité

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

La propriété Value retourne un Dobule, que vous pouvez convertir en un entier:

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

Cependant, la conversion pourrait ne pas donner un sens pour certains types d'unités. Si vous ne savez pas certain que l'unité est d'un type spécifique, vous voulez vérifier la première propriété Type.