Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Räkna med bokstäver

Postades av 2005-09-18 10:38:25 - Mikael Jönsson, i forum c# (c-sharp), Tråden har 8 Kommentarer och lästs av 679 personer

Hej,

Jag skulle behöva hjälp med att skriva en funktion som tar en siffra som argument och returnerar siffran i bokstäver. Ungefär såhär:

<info>
1 A
2 B
3 C
4 D
5 E
6 F
7 G
8 H
9 I
10 J
11 K
12 L
13 M
14 N
15 O
16 P
17 Q
18 R
19 S
20 T
21 U
22 V
23 W
24 X
25 Y
26 Z

27 AA
28 AB
29 AC
30-42 AD-AZ

ZA
ZB
ZC
ZD-ZZ

AAA
AAB
AAC
AAD-AAZ

osv...
</info>

Någon som kan hjälpa till med tankegången?


Svara

Sv: Räkna med bokstäver

Postades av 2005-09-18 11:51:40 - Per Persson

I princip handlar det om att skriva talet (eg. talet - 1) i basen 26. Det är inte omöjligt att det finns en färdig funktion för detta, men du kommer då att få tecknen 0 - 9 och A - P (om jag räknar rätt) i strängen. Sedan får du själv loopa genom strängen och byta ut siffrorna 0 - 9 mot bokstäverna A - J och byta bokstäverna A - P mot K - Z.


Edit:
Funktionen finns: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemConvertClassToStringTopic19.asp


Svara

Sv:Räkna med bokstäver

Postades av 2005-09-18 12:04:17 - Göran Andersson

Fast den klarar inte basen 26.

"toBase
The base of the return value, which must be 2, 8, 10, or 16."


Svara

Sv: Räkna med bokstäver

Postades av 2005-09-18 15:04:28 - Niklas Jansson

I princip är lösningen:

tal=123;
base=26;

int temp;
string s;
while(tal>0){
temp = tal % base;
tal=(tal-temp)/base;
s=integerToChar('a'+temp) + s;
}

Eftersom jag inte är någon stjärna på C# så får du göra så integerToChar representerar rätt grej.

Koden helt otestad, kan vara fel lite varstans.


Svara

Sv:Räkna med bokstäver

Postades av 2005-09-18 18:08:30 - Mikael Jönsson

Tack Niklas!

Det fungerar nästan så som jag vill ha det.
Såhär blir utskriften:

<info>
A-Z
BA-BZ
CA-CZ osv.
</info>

Men AA-AZ kommer inte med. Fast det kanske är bättre att det går från A-Z till BA-BZ direkt!?

Såhär ser funktionen ut:
<code>
public string GetAlpha(int number)
{
int temp = 0;
string s = "";

if(number == 1)
{
return "A";
}
else
{
number--;

while(number > 0)
{
temp = number % 26;
number=(number - temp) / 26;
s=(char)(65 + temp) + s;
}
}

return s;
}
</code>


Svara

Sv: Räkna med bokstäver

Postades av 2005-09-18 18:49:11 - Niklas Jansson

Ah, ok. Det hänger ju ihop med att A räknas som 0 och B som 1, osv.

Exakt vilken lösning man bör göra beror ju på tillämpning, men en variant är att att padda med A till en given längd. (B blir AAAB, t.ex.).


Svara

Sv:Räkna med bokstäver

Postades av 2005-09-18 20:03:03 - Mikael Jönsson

Ja, det skulle man kunna göra. Jag får se hur det blir.
Jag tackar än en gång och sätter inlägget till Löst.


Svara

Sv: Räkna med bokstäver

Postades av 2005-09-18 21:06:04 - Per Persson

Rekursivt, kanske:

public string GetAlpha(int number)
{
	number--;
	
	char c = (char)((int)'A' + number % 26);
	
	if(number / 26 == 0)
		return c;
	else
		return GetAlpha(number/26) + c;
}


Svara

Sv:Räkna med bokstäver

Postades av 2005-09-18 21:11:01 - Mikael Jönsson

Underbart Per! Tack!


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 166
27 952
271 704
1 159
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies