close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Replacing period decimal with a comma decimal

Thread began 5/08/2013 10:17 am by Roxana | Last modified 5/10/2013 10:42 am by Roxana | 3806 views | 11 replies |

Roxana

Replacing period decimal with a comma decimal

Hi, I have been working on this for a while and came up with this code so far:

<?php
$number = $row_rspricetable['price'];

$row_rspricetable['price'] = number_format($number, 2, ',', '.');
?>



This successfully replaces the period of the first record with a comma, but all following values keep the period. I tried with if-statement, while loops and foreach statements, but could just not get it to work.

This is the link to one of the product pages: http://www.segufix.com/detail_en.php?recordID=13

Would anyone be able to help me out?

Sign in to reply to this post

Jason ByrnesWebAssist

within the repeat region, where you show the number, use the following:

<?php echo(number_format($row_rspricetable['price'], 2, ',', '.')); ?>

Sign in to reply to this post

Roxana

Thank you, Jason. That worked. I had also just tried cramming my code into the repeating region. It also worked, but your solution is much more concise :)

Sign in to reply to this post

Roxana

Trying to use this code on shop site

Hi Jason,

I changed the code again, so I would get a decimal point for English and a decimal comma for German:

<?php $number = $row_rspricetable['price'];
if ( $_SESSION['languageID'] == "1" ) {
$row_rspricetable['price'] = number_format($number, 2, ',', '.');
}
?>



And it works, as you can see here: detail.php?recordID=53

I would like to do the same on the shop site, but the code did not work for there. I am guessing, because the number format is already defined. I tried deleting that code, but with that the page broke.

function WA_eCart_GetGroupDecimalChars($numDisplay) {

$theDec = substr(strval(99/10), 1, 1);

$theDecimal = "";

$theComma = "";

if ($numDisplay == 0 || $numDisplay == 2) {

$theDecimal = ".";

if ($numDisplay == 0) {

$theComma = ",";

}

}

else {

$theDecimal = ",";

if ($numDisplay == 1) {

$theComma = ".";

}

}

return array($theDec, $theComma, $theDecimal);

}



function WA_eCart_DisplayMoney($theObject, $theAmount) {

$decInfo = WA_eCart_GetGroupDecimalChars($theObject->NumberDisplay);

return WA_eCart_MaskWeightMoney($theAmount, $theObject->CurrencyPrefix, $theObject->CurrencyAlign, $decInfo[1], $decInfo[2], $theObject->ForceDecimalsC, $theObject->DecimalPlacesC);

}



On the shop site I am dealing with six languages. I would like to use decimal point for English and Spanish, decimal comma for all other languages.

Can this be achieved? It might be a nice feature for eCart.

Sign in to reply to this post

Jason ByrnesWebAssist

assuming that English and Spanish use $_SESSION['languageID'] == 1 and $_SESSION['languageID'] == 2, then you could use the following code to change the number format that the cart will use:

php:
<?php

if(isset($_SESSION['languageID']) && ($_SESSION['languageID'] == "1" || $_SESSION['languageID'] == "2")) {
    
$yourCartName->NumberDisplay 0;
} else {
    
$yourCartName->NumberDisplay 1;
}
?>




this code should come just after the GetContent line on the cart page.

Sign in to reply to this post

Roxana

Thanks Jason,

The correct number format pops up for a split second and then goes back to comma decimal.

I think the problem lies in this coder:

function showprice() {
var fm = document.segufix_1_ATC_<?php echo $row_DetailRS1["product_id"]; ?>;
var selectedversion = fm.SelectVersion.options[document.segufix_1_ATC_<?php echo $row_DetailRS1["product_id"]; ?>.SelectVersion.selectedIndex].text;
var selectedsize = fm.SelectSize.options[document.segufix_1_ATC_<?php echo $row_DetailRS1["product_id"]; ?>.SelectSize.selectedIndex].text;
var versionset = fm.SelectVersion.value;
var sizeset = fm.SelectSize.value;
var priceset = js_array[(sizeset+0+versionset)].toFixed(2);
priceset = priceset.replace(".", ",");
var pznset = js_array2[(sizeset+0+versionset)];
var itemnolongset = js_array3[(sizeset+0+versionset)];

document.getElementById('pricelabel').innerHTML=' € '+priceset;
document.getElementById('pznlabel').innerHTML=pznset;
document.getElementById('itemnolonglabel').innerHTML=itemnolongset;

}



I tried deleting just the line with the "replace", but then the decimals are dots for all languages.

Sign in to reply to this post

Jason ByrnesWebAssist

try putting the code i provided just before the doctype tag.

Sign in to reply to this post

Roxana

Ok, the code works on the cart page and the catalogue page. It is now after the getContent line.

But it does not work on the detail page. Even when I place it just before the doctype tag, or right before the price itself.

I think the problem is, that the price on the detail page is updated, when the customer makes a size or version selection. The price pops up very shortly with the decimal dot and actually the wrong prize (the prize for size M) and then changes to the prize that is first in the database for that product (size XS) with a decimal comma.

There is a mini cart on the detail page however, and there the code works.

Sorry for making it so complicated, but if you want to have a look: [url]http://www.segufixshop.eu/detail.php?recordID=69[/code]

Sign in to reply to this post

Jason ByrnesWebAssist

I'll need to troubleshoot directly, see the private message section.

Sign in to reply to this post

Roxana

OK

Sign in to reply to this post
loading

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...