taihen
(Chi Mei )
25 Październik 2011 18:24
#1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double x;
x = double.Parse(Console.ReadLine(), System.Globalization.CultureInfo.InvariantCulture);
double promien = Math.Sqrt(x);
double pole = Math.PI * x * x;
double obwod = Math.PI * 2 * x;
Console.WriteLine("promien: {0} pole: {1} obwod: {2}",x, Math.PI*x*x,Math.PI*2*x,
promien.ToString("F3", System.Globalization.CultureInfo.InvariantCulture),
pole.ToString("F3", System.Globalization.CultureInfo.InvariantCulture),
obwod.ToString("F3", System.Globalization.CultureInfo.InvariantCulture));
}
}
}
raz mi wyskakuje pelno liczb po przecinku, a raz nic a wedlug formuly “F3” powinny zawsze byc 3 liczby po przecinku,
nie wiem co mam jeszcze nie tak, prosze o pomoc
matzu
(Tomek Matz)
25 Październik 2011 18:37
#2
using System;
using System.Globalization;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
double promien = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
double pole = Math.PI * promien * promien;
double obwod = Math.PI * 2 * promien;
Console.WriteLine("promien: {0} pole: {1} obwod: {2}",
promien.ToString("F3", System.Globalization.CultureInfo.InvariantCulture),
pole.ToString("F3", System.Globalization.CultureInfo.InvariantCulture),
obwod.ToString("F3", System.Globalization.CultureInfo.InvariantCulture)
);
}
}
}
taihen
(Chi Mei )
25 Październik 2011 18:41
#3
dziekuje bardzo, ja nie moglam tego ogarnac
matzu
(Tomek Matz)
25 Październik 2011 18:49
#4
Błąd był w użyciu metody Console.WriteLine. Porównaj to co miałaś w wywołaniu tej metody z tym co ja napisałem.
taihen
(Chi Mei )
25 Październik 2011 18:58
#5
zauwazylam, ja dopiero zaczynam sie uczyc C# i czesto zdarza mi sie jeszcze takie bledy robic, jeszcze raz dzieki za pomoc
somekind
(somekind)
25 Październik 2011 21:21
#6
Można też wyświetlać tak, moim zdaniem znacznie czytelniej:
Console.WriteLine("promien: {0:F3} pole: {1:F3} obwod: {2:F3}", promien, pole, obwod);
Pytanie zasadnicze, po co używasz InvariantCulture?
matzu
(Tomek Matz)
25 Październik 2011 21:49
#7
Pozwolę sobie odpowiedzieć na to pytanie za autorkę tematu Precyzując ustawienia regionalne definiujesz jaki ma być zawsze wyświetlany znak dziesiętny i znak dla liczb ujemnych. Więcej na ten temat możesz poczytać tutaj http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx .
somekind
(somekind)
25 Październik 2011 22:14
#8
Ja mam doczytać MSDN w tej kwestii? No bez jaj…
Pytam autorkę, po co ona tego używa, bo trzeba mieć mocny argument, żeby nie używać ustawień regionalnych komputera i wkurzać tym użytkownika.