2017-02-28 5 views
0

Hallo Ich habe Schwierigkeiten mit einer Webanwendung. Ich bin fast fertig, aber ich stolpere über dieses Thema. Mit dieser Webanwendung gibt es also eine andere Seite, die zeigt, dass der Benutzer eine Eingabe für einen Verkaufspreis und Rabattbetrag erhält und dann einen Gesamtpreis vom Verkaufspreis erhält - Rabattbetrag. Ich habe schließlich die zweite Seite (wo dieser Code ist), um die Session-String-Werte zu greifen, aber ich muss diese richtig in Währung formatieren. Ich kopierte den Code von der ersten Seite im kommentierten Teil, um zu versuchen, ihn zu analysieren, aber ich bin ratlos und würde die Hilfe schätzen, da ich fast fertig bin.Formatieren von Währung aus Zeichenfolge Sitzung in C#

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Confirm : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     //int salesPrice, discountAmount, totalPrice; 
     UnobtrusiveValidationMode = System.Web.UI.UnobtrusiveValidationMode.None; 
     if (Session["salesprice"] != null && Session["discountamount"] != null && Session["totalprice"] != null) 
     { 
      lblSalesPrice.Text = Session["salesprice"].ToString(); 

      lblDiscountAmount.Text = Session["discountamount"].ToString(); 
      lblTotalPrice.Text = Session["totalprice"].ToString(); 

      /* 
      decimal salesPrice = Convert.ToDecimal(txtSalesPrice.Text); 
      decimal discountPercent = Convert.ToDecimal(txtDiscountPercent.Text)/100; 

      decimal discountAmount = salesPrice * discountPercent; 
      decimal totalPrice = salesPrice - discountAmount; 

      lblDiscountAmount.Text = discountAmount.ToString("c"); 
      lblTotalPrice.Text = totalPrice.ToString("c");*/ 

     } 
    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
     lblMessage.Text = "This function hasn't been implemented yet."; 
    } 
    protected void Button2_Click(object sender, EventArgs e) 
    { 
     Server.Transfer("Default.aspx"); 
    } 
} 
+0

Ich muss etwas vermissen, weil ich nicht ganz verstehe, was Sie ein Problem haben oder was das Endziel ist. Fragen Sie, wie man eine Zeichenkette in eine Währung umwandelt oder etwas ganz anderes? –

+0

Das frage ich. Ich habe es jetzt richtig funktioniert. – iuliko

Antwort

1

Wenn Sie die Werte in der Sitzung Währungen konvertieren müssen, können Sie so etwas wie dieses könnte:

if (Session["salesprice"] != null) 
    lblSalesPrice.Text = Convert.ToDouble(Session["salesprice"]).ToString("c"); 

if (Session["discountamount"] != null) 
    lblDiscountAmount.Text = Convert.ToDouble(Session["discountamount"]).ToString("c"); 

if (Session["totalprice"] != null) 
    lblTotalPrice.Text = Convert.ToDouble(Session["totalprice"]).ToString("c"); 

Wenn Sie die Session-Werte vorhanden sind absolut sicher sind, brauchen Sie nicht auf Null prüfen. Sie können mehr über Standard-Numerische Formatierung hier lesen: https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx.

Ich hoffe, das hilft.

+0

Vielen Dank! Es hat so viel geholfen. Ich vermute also, was ich vermisst habe, war der .ToString ("c") und die Zeichenkette in Double konvertieren. Um sicherzustellen, dass ich das richtig verstehe, wurden die Sitzungswerte in String "c" gespeichert und ich habe sie von der vorherigen Seite aus aufgerufen, richtig? Sowie die Formatierung von der vorherigen Seite? Ich schätze das wegen der angezeigten Währung, wenn es von den Sitzungswerten kommt. – iuliko

+0

Das "c" steht für Währung. Sie nehmen also eine Zahl (in diesem Fall ein Doppel) und rendern als "Währung". Auf diese Weise formatiert .NET die Nummer in die Kultur Ihrer Anwendung. Es wird sehr interessant mit verschiedenen Kulturen, da .NET weiß, wie man richtig für USD, Euro, Yen usw. formatiert. Wie die Werte in der Sitzung gespeichert wurden, kann ich aus dem von Ihnen geposteten Code nicht ersehen. Wenn meine Antwort richtig beantwortet wurde, akzeptieren Sie die Antwort. –

Verwandte Themen