World: r3wp
[Core] Discuss core issues
older newer | first last |
Ladislav 15-Oct-2006 [5715] | Oldes - you *can* convert money! to decimal as follows: second $84.36 ; == 84.36 |
Anton 15-Oct-2006 [5716] | I wish I could divide the money in my bank account into $10 amounts and then just multiply them, but the bank won't let me. I don't know why. |
Oldes 15-Oct-2006 [5717x4] | Ok, you are right, I know I can do 10 * $10 and it's probably logical, but anyway, for me money is a number and this is new form me: >> second (to-money 777777 / 9220) == 84.3575921908894 |
(anyway, I'm not going to use money datatype) | |
and it should be possible to do $10 * $10 as in the Louis' example above, the number 9220 should be money datatype as well as it is number of roupies per dollar (if I understand it well) so he should use RP$9220 if he is using money! for dollars | |
I doubt, someone is using this feature (currency identifier) with money datatype:-) | |
Anton 15-Oct-2006 [5721x4] | Louis' example did not multiply two money!s. |
and I strongly disagree that you should be able to multiply two money!s. | |
A currency exchange rate (such as Louis' 9220) includes, as part of its definition, two distinct currencies (eg. RP and USD). | |
Anyway, I don't want to argue this, you should know about how to handle units. Everyone should know that 10 Metres x 10 Metres does not equal 100 Metres. | |
Louis 15-Oct-2006 [5725] | All this is very interesting. I appreciate all of your comments. Anyway I have a workaround to the problem. First of all, however, I need to tell you why I wanted to be able to convert dollars back to rupiahs. It was just to save space in the database. I enter rupiahs, as that is the currency I am using right now, but the software converts it to dollars and saves the dollar amount to the database. To find out the rupiah amount later if needed, I was going to do a reverse conversion. The other solution is to simply record the rupiah amount in the database also, so that is what I'll do. |
Oldes 15-Oct-2006 [5726] | by the way, you may use the conversions on the side of the database during select |
Louis 15-Oct-2006 [5727] | Oldes, please explain. I do not understand what you mean. |
Oldes 15-Oct-2006 [5728] | mysql> create table test (dolars float(2)); Query OK, 0 rows affected (0.22 sec) mysql> insert into test values(777777); Query OK, 1 row affected (0.03 sec) mysql> select dolars,(dolars / 9220) as rupias from test; +--------+-----------------+ | dolars | rupias | +--------+-----------------+ | 777777 | 84.357592190889 | +--------+-----------------+ 1 row in set (0.01 sec) |
Louis 15-Oct-2006 [5729x2] | So I could get the reverse conversion I want if I were using mysql? |
Right now I'm simply using a rebol object database. It would be very difficult to change this particular script. But if I ever do something like this again I may consider using mysql. | |
Oldes 15-Oct-2006 [5731x2] | If you are using Rebol, you should probably use decimals, not money datatype |
(to store it in the database) | |
Louis 16-Oct-2006 [5733x3] | Oldes, yes. I can see that you are right. Store in decimal. Display in money. >> r: 777777 == 777777 >> x: 9220 == 9220 >> d: r / x == 84.3575921908894 >> d * x == 777777.0 >> to-money d == $84.36 >> |
I've converted the script to decimal, and it works great! | |
Decimal is converted to money for reports. | |
BrianH 16-Oct-2006 [5736] | Watch out though - your problem wasn't a decimal vs. money problem, it was a rounding problem. If you are going to store the dollar equvalent in a database make sure to store it as a floating-point value rather than a fixed-point like SQL's decimal type. Otherwise you are going to run into the same problem when you store the data and retrieve it again. |
Louis 16-Oct-2006 [5737] | Yes, I understand this. I think I've done this right. View, however, I don't understand. |
BrianH 16-Oct-2006 [5738] | You and me both. |
Jerry 19-Oct-2006 [5739] | How do I use the CALL native function to call a external program via shell and wait for the program to finish. I try the /wait refinement, but it does not work. * Example: call/wait "regedt32 /E C:\backup.reg" |
PeterWood 19-Oct-2006 [5740x4] | It appears to be something specific to the application being called. Both call/wait "cmd" and call/wait "C:\Program Files\rebol\view\rebol.exe" worked as expected for me though call/wait "regedt32" didn't. |
Regedt32 is returning a 0 completion code to Rebol as it is being loaded which Rebol returns from the call: >> call/wait "C:\Windows\System32\regedt32.exe" == 0 | |
This suggests that regedt32 is simply a loader for another program. | |
From http://en.wikipedia.org/wiki/Windows_Registryit seems that regedt32.exe invokes regedit.exe. The page also hints that it may be better to use reg.exe to update the registry from a script | |
Jerry 19-Oct-2006 [5744x2] | Thank you, Peter. |
I've just got an Out-Of-Memory error. Is there any way to have more virtual memory for REBOL to use. In Java, I can use command-line options to ask the OS to allocate more memory for my app. In REBOL, I have no idea. | |
Maxim 19-Oct-2006 [5746] | on windows? |
Gregg 19-Oct-2006 [5747] | REBOL should just use all it needs. What are you trying to do? |
Maxim 19-Oct-2006 [5748x3] | on windows, the OS should give you all the VM until the OS runs out. I've had REBOL use more than 1 GB of RAM... without doing anything special. |
(obviously, perfomance drops dramatically... but that's the OS's fault) | |
the machine only had 512MB of physical RAM btw. | |
Graham 19-Oct-2006 [5751] | I've seen this happen before ... brings windows to a stop :( |
Maxim 19-Oct-2006 [5752x2] | you just need to have more VM setup than all apps need... at least it wont crash windows. |
but like you say... it crawls... on its back. | |
Allen 19-Oct-2006 [5754x2] | Jerry, was it a "real" memory error, or where you just trying to decompress damaged data? |
>> d: compress "jsagkjdsjhgkjdshgkjdhf" == #{789CCB2A4E4CCFCE4A29CECA00536032230D00688B090D16000000} >> decompress random d ** Script Error: Not enough memory ** Near: decompress random d | |
Jerry 19-Oct-2006 [5756] | About the out-of-memory error, the story is ... I am trying to compare two complete Windows Registry, which are both huge. I export them into files (in little-endian 16-bit Unicode), which are both 300+ MB. To save the space and to make REBOL easy to handle them, I encode these files into UTF-8. they are now 150+ MB. I try to load these two UTF-8 files into memory: >> lines1: read/lines %/c/reg1.reg == ["Windows Registry Editor Version 5.00" "" "[HKEY_LOCAL_MACHINE]" "" ... >> lines3: read/lines %/c/reg2.reg == ** Script Error: Not enough memory ** Where: halt-view ** Near: halt >> rebol/version == 1.3.2.3.1 |
Maxim 19-Oct-2006 [5757x4] | have you tried not using lines? its pretty easy to chop them up after... |
not saying /lines has an issue, but I have loaded 700MB ascii files on a 1GB RAM computer... 150 is peanuts. but I never use the /lines argument. | |
you should use the stats to see if something strange is going on. It will give you the amount of RAM REBOL is currently using. | |
>> stats == 4432555 | |
Allen 19-Oct-2006 [5761] | There have been some issues with read/lines . What REBOL version are you using? http://www.rebol.net/cgi-bin/rambo.r?sort=1&limit=1&cmd=Search&id=&pattern=read%2Flines |
Maxim 19-Oct-2006 [5762] | just above he quoted: >> rebol/version == 1.3.2.3.1 |
Allen 19-Oct-2006 [5763] | [Allen mumbles something about his glasses] |
Maxim 19-Oct-2006 [5764] | lol :-) |
older newer | first last |