Tipini bilmedigim degeri sayisala cevirmek

Başlatan bunalmis, 31 Mayıs 2011, 03:44:27

z

const B=789;     olmak uzere;

Fnk fonksiyonu girdi olarak string kabul ediyor ve bu stringi integer degere ceviriyor.

Ornegin Fnk('123')  123 sonucunu veriyor.

Ayni fonksiyona  Fnk('B') gonderirsem 789 cikmasini istiyorum.

Bu konuda ne dersiniz?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Burak B

Sadece bu kadar mı? Fonk('B') girerse 789 çıkacak? Soruda anlatım eksikliği yok değilmi @bunalmis hocam. :) Peki Fonk('C') olursa ne olmasını istiyorsunuz?
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

Burak B

#2
Girdinizi filitrelemeniz gerekir. Kriterler belirlemeniz lazım. Mesela 0..9 A..F arası girdileri kabul eder diye. Bunu fonksiyon içinde kontrol etmeniz gerek. Devamında gerekli dönüşümleri bu kurallar çerçevesinde uygularsınız. Ancak fonksiyon yazayım Y gireyim bana bir rakam versin istiyorsanız bunu yapmanın yolunu zaten biliyorsunuz. Sorunuzu daha detaylandırın.

Girdiyi integere çeviren bir fonksiyona girebileceğiniz değerler bellidir. Eğer integere dönüşemeyecek bir parametre geçişi yaparsanız exception oluşacaktır.(Kullanacağınız Delphi kütüphanesinden dolayı eğer kendi kodunuz ise birşey diyemem) Yok ben ne girersem bana bir rakam versin diyorsanız girdiğiniz değeri harf ve rakam ve sembol diye parçalayıp ASCII tablosundaki taban değerlerine göre oluşturacağınız bir algoritma ile istediğiniz girdiye istediğiniz değeri oturtabilirsiniz ve @gerbay' ın dediği gibi bir tablo tutarsınız ve bu tablo üzerinden lookup yaparsınız.

Ek:
Mesela bir açının sinus değerini veren bir fonksiyonda sürekli sinus hesaplamak yerine biline 360 açının sinus değerlerini bir tablodan okumak çok daha hızlı bir işlemdir.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle