Az egyik szórakoztató rész multi-kulturális programozás szám formátumban.
- Amerikaiak 10,000.50
- Németek használja 10.000,50
- Francia használat 10 000,50
Az első megközelítés az lenne, ha a húr, feldolgozni, hogy hátrafelé, amíg nem találkozik egy elválasztó, és használja ezt az én tizedeselválasztóként. Van egy nyilvánvaló hiba az, hogy: 10.000 lenne értelmezhető 10.
Egy másik megközelítés: ha a szöveg tartalmaz 2 különböző nem numerikus karaktereket használja az utolsó a tizedes elválasztó és dobja ki a többiek. Ha csak egy, akkor esetleg egynél többször fordul elő, és dobja rá, ha nem. Ha csak egyszer jelenik meg, ellenőrizze, hogy van 3 számjegy után. Ha igen, akkor dobja ki, egyébként ez a decimális szeparátor.
A nyilvánvaló „legjobb megoldás” lenne felismerni a Felhasználó kultúra vagy a böngésző, de ez nem működik, ha van egy francia használó Windows-en-US / böngésző.
Vajon a .NET-keretrendszer tartalmaz valamilyen mitikus fekete mágia lebegőpontos értelmező, ami jobb, mint Double.(Try)Parse()
próbál automatikusan érzékeli a szám formátum?