Portál AbcLinuxu, 22. října 2025 23:22


Dotaz: Decimal separator

pdp7 avatar dnes 07:52 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
Decimal separator
Přečteno: 107×
Odpovědět | Admin
Příloha:
Ahoj, mám tu jeden ovladač rozhraní ASCOM, který čte hodnoty z čidel kolem arduina a zobrazuje v nějakých intervalech na obrazovku PC. Je to psáno v C# a potíž je v tom, že to funguje jen v případě, když je v systému nastavena tečka jako desetinný oddělovač. Jak je tam čárka, tak to hubuje - nesprávný formát vráceného řetězce! Je nějaký elegantní způsob jak tomu říct aby bral jako oddělovač oboje? Snad mě s tím nepošlete kamsi když je to na widle.

Myslím, že je to na řádcích 121 - 127 ale nejsem si jistý a nevím jestli bude fungovat tohle:

internal static string SwitchStateVoltage = "0.00".Replace(",",".");
"První" komunita sdílející software
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

dnes 10:30 X
Rozbalit Rozbalit vše Re: Decimal separator
Odpovědět | | Sbalit | Link | Blokovat | Admin
tak to hubuje - nesprávný formát vráceného řetězce!
Mues napsat presne co to vraci a zaroven log z toho software?
pdp7 avatar dnes 13:18 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
Rozbalit Rozbalit vše Re: Decimal separator
Jé Ahoj, abych to nemusel znova opisovat, odkážu na astro-forum.cz kde jsem tam jako Astrolama, příspěvek č. 18 a další. Celý výpis hlášení ve v tom err_ascom.zip a jsou tam i nějaké screeny. Spínač má svůj ovládací program "control center", ale ke stejným funkcím se dá dostat i v Nighttime Imaging 'N' Astronomy (to je ten tmavě červeno-černý screenshot), právě díky tomu ASCOM (standard pro ovládání astronomických zařízení).

Skutečně po změně oddělovače na tečku v ovládacích panelech všechno funguje normálně, ale v české mutaci widlí je nastavená výchozí čárka.
dnes 16:01 ehmmm
Rozbalit Rozbalit vše Re: Decimal separator
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takovy provni tip je, ze to bude tenhle radek:

return Convert.ToDouble(SerialCommands[id]);

Asi bych si v c# nastavil DecimalSeparator, ve stringu udelal replace dle potreby a pak by to melo fungovat vzdycky.
dnes 17:04 X
Rozbalit Rozbalit vše Re: Decimal separator
Staci radek 889 v SwitchHardware.cs :
return Convert.ToDouble(SerialCommands[id]);
upravit na:
return Convert.ToDouble(SerialCommands[id], CultureInfo.InvariantCulture);
a pridat uplne nahoru:
using System.Globalization;
Mimochodem ta konverze je tam jeste minimalne jednou tak to muzes opravit i s tim..
pdp7 avatar dnes 21:22 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
Rozbalit Rozbalit vše Re: Decimal separator
Už to sviští :) Díky

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.