2012-03-23 18 views
7

İngilizce kelimelerle matematik yapabilen bir program yazmaya çalışıyorum.jQuery'de kelimelerle nasıl matematik yapabilirim?

Mesela ben

"four thousand and three" + "seven thousand and twenty nine" 

gibi bir şey yapabilmek ve

"eleven thousand and thirty two" 

gibi çıktı o jQuery bunu yapmak mümkün mü almak istiyor?

+3

evet, muhtemelen var. ne denedin –

+8

SO sormadan denedim ... hayır şans henüz. – Daniel

+0

haha ​​... parlak –

cevap

14

Evet, tam olarak bu amaçla yapılmış bir jQuery plug-in called Word Math yazdım. Sorunuzun, sadece kopyalayıp bu kodu

alert($.wordMath("four thousand and three").add("seven thousand and twenty nine")); 
//alerts "eleven thousand thirty two" 

ve işte yapıştırabilirsiniz Örneğin

! Biraz kelime matematik yaptın.

Kelime Matematik da tersi kelimeleri ve yardımcısı JavaScript numaralarından gelen dönüştürme yapabilirsiniz:

$.wordMath.toString(65401.90332) 
// sixty five thousand four hundred one and nine tenths and three thousandths and three ten thousandths and two hundred thousandths 

$.wordMath("three million four hundred and sixty seven thousand five hundred and forty two").value 
// 3467542 

You can read more about how to use the Word Math plugin on its readme page

DÜZENLEME: şimdi jQuery bağlı değildir Kelime Math bir sürümü var. Kullanmak için, wordMath.jquery.js dosyasının yerine 0H32 deposunun wordMath.vanilla.min.js dosyasını indirmelisiniz.

jQuery'siz sürümün kullanımı, aramalarda $. önekine ihtiyacınız olmaması dışında jQuery sürümü ile tam olarak aynıdır. yerine

$.wordMath("fifteen").add("eighteen") 

yapmanın diğer bir deyişle, yerine

wordMath("fifteen").add("eighteen") 
+2

Fikrimi okudun mu? – Daniel

+0

Bunun neden bir jQuery eklentisi olması gerektiğini merak ediyorum? JQuery'nin burada eski J'lerin üzerinde ne olduğunu görmüyorum. –

+4

@Chimoo: İki kelime: jQuery! – Daniel

2

Bildiğiniz gibi, matematik işlemlerini dizelerde kendiniz gerçekleştiremezsiniz, bu nedenle metninizi sayısal değerlere dönüştürerek başlamanız gerekir.

Sayısal değerler üzerinde matematiksel işlemleri gerçekleştirdikten sonra, değerleri tekrar dizelere dönüştürebilir ve sonucu verebilirsiniz.

+0

D'oh! "[URL] adresine gidin, [harika] eklentiyi yükleyin, SO sorusundan metin kopyalayıp/yapıştırın .js dosyasına ve voila'ya!" – Daniel

3

Kütüphaneyi kullanabilirsiniz yazıyormuş ancak kendi kod yazmak istiyorsanız böyle bir şey ile başlayabilir.

Diziyi işlev çağrısından çıkarmak gibi bir şey onu optimize etmenize yardımcı olacaktır. Bunu yazarken çok eğlendim.

+0

Cevabınızı aldıktan sonra dizeyi yapmak için tersine işlem yapabilirsiniz. –