小编bfa*_*tto的帖子

会计系统-MySQL和PHP精度

我正在用 PHP 和 MySQL 构建一种会计系统。我的数据库包含DECIMAL (11,2)货币列,以及DECIMAL货币操作中使用的所有其他值(例如要应用的百分比)。我以前从未编写过类似的程序,所以我不确定我做的是正确的事情。

我在数据库中使用的精度级别是否正确?

在 PHP 方面:

我是否应该对以后可能存储在数据库中的任何值使用 BC Math 函数?

我还必须使用,小数点和.千位分隔符来格式化货币值。我知道number_format,最近发现money_format,但手册说两者都使用浮子进行操作。

我可以使用number_formatmoney_format作为将要显示的值,或导出到 CSV 或 Excel 的值吗?

php mysql currency floating-accuracy bcmath

5
推荐指数
1
解决办法
1349
查看次数

为什么catch子句有自己的词汇环境?

请考虑ECMA-262 v5.1的以下摘录(我最近在这个问题中看到过):

词汇环境是一种规范类型,用于根据ECMAScript代码的词法嵌套结构定义标识符与特定变量和函数的关联.词汇环境由环境记录和外部词汇环境的可能空引用组成.通常,词汇环境与ECMAScript代码的某些特定语法结构相关联,例如TryStatement的FunctionDeclaration,WithStatement或Catch子句,并且每次评估此类代码时都会创建新的词法环境.

我认为这意味着catch子句的主体会像函数那样提升自己的变量,但显然情况并非如此:

var a = 1;
try {
    console.log(x); // ReferenceError
} catch(ex) {
    console.log(a); // 1, not undefined
    var a = 3;
}
Run Code Online (Sandbox Code Playgroud)

有人知道为什么吗?另外,为什么一个catch条款需要自己的词汇环境?

javascript scope try-catch ecmascript-5 hoisting

5
推荐指数
1
解决办法
448
查看次数

将html转换为aspx

是否有任何工具或代码可以将HTML文件转换为.ASPX?

详细说明早期的问题:我正在寻找能够自动将HTML控件转换为.ASPX服务器控件的工具或代码,而无需手动更改每个控件,即将HTML页面作为输入,解析和输出的东西.ASPX带有服务器控件的页面

html asp.net

4
推荐指数
1
解决办法
2万
查看次数

在resize事件上禁用superfish

我正在尝试将Superfish jQuery插件与Nathan Smith的adapt.js片段相结合,该片段根据浏览器宽度动态加载到不同的CSS文件中.我想在移动模式下禁用/替换/ Superfish菜单,因为下拉菜单没有任何意义.我试图检测到更改并禁用菜单,但是当窗口再次调整宽度时我需要重新启用它.

这就是我所拥有的:

function htmlId(i, width) {
    document.documentElement.id = 'pagesize_' + i;
}

var ADAPT_CONFIG = {
  path: '/css/',
  dynamic: true,
  callback: htmlId,
  range: [
    '0px    to 760px  = mobile.css',
    '760px  = 960_12.css'
  ]
};

function sfMenu() {
    $("#pagesize_1 ul.sf-menu").superfish({ 
        delay:       800,
        animation:   {opacity:'show'},
        speed:       'fast',
        autoArrows:  true,
        dropShadows: true
    }); 
}

$(document).ready(function(){
    sfMenu();
});
Run Code Online (Sandbox Code Playgroud)

理由是改变html元素的id resize(在pagesize_0和之间pagesize_1- 有效),并在CSS中使用后代选择器来禁用菜单,但这不起作用.我试着重新运行sfMenu()resize(代码上面没有显示),但它似乎并没有检查改变DOM,实现pagesize_1不再存在,则无法正常(我认为会达到的效果,我后).

有什么想法吗?理想情况下,我想破坏superfish调整大小到移动设备的功能,然后在屏幕再次变大时重新启动它.

javascript jquery superfish responsive-design

4
推荐指数
1
解决办法
5324
查看次数

ruby rails 使用按钮编辑属性

假设我有一个对象 @transaction 显示 /transactions/id

def show
    @transaction = Transaction.find(params[:id]);
end
Run Code Online (Sandbox Code Playgroud)

在 show.html.erb 中,我想要一个按钮,按下时会更改事务的属性之一。我怎么做?

在 show.html.erb 中,我有

<%= form_for @transaction do |t| %>
    <%= t.label :id %> : <%= @transaction.id %><br />

    <%= t.submit "pay" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

编辑:我想我可能误导了这个问题。上面的按钮代码生成了这个 html:

<input id="transaction_submit" name="commit" type="submit" value="pay" />
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时,将调用控制器中的“更新”方法。如何将值从按钮传递到更新方法中的特定操作?例如,假设button1将 transaction.name 更改为“lalala”。我该怎么做呢?

def update
  // if button1 is pressed, change transaction.name to lalala
  // if button2 is pressed, change transaction.amount to bobobo
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3

4
推荐指数
1
解决办法
5447
查看次数

JavaScript加载订单导致问题

我在标题中有一个JS文件(这是针对Google DFP广告管理系统),另一个是JS文件 </body>

我发现如果标题JS文件没有加载到底部之前我在Chrome控制台中收到此错误:

 Uncaught TypeError: Object #<Object> has no method 'defineSlot' 
Run Code Online (Sandbox Code Playgroud)

defineSlot在第一个脚本中定义.这个问题只发生在大约每10页刷新一次,所以大部分时间都可以.

我想就如何处理这个问题提出建议.以下是2个脚本:

标题脚本:

<script type='text/javascript'>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
(function() {
    var gads = document.createElement('script');
    gads.async = true;
    gads.type = 'text/javascript';
    var useSSL = 'https:' == document.location.protocol;
    gads.src = (useSSL ? 'https:' : 'http:') + 
    '//www.googletagservices.com/tag/js/gpt.js';
    var node = document.getElementsByTagName('script')[0];
    node.parentNode.insertBefore(gads, node);
})();
</script>

<script type='text/javascript'>
googletag.cmd.push(function() {
    googletag.pubads().enableAsyncRendering();
    slot1 = googletag.defineSlot('/21848415/GoneGlobal_Square', [250, 250], 'doubleClickSquareIndex-250-250').addService(googletag.pubads());
    slot2 = googletag.defineSlot('/21848415/GoneGlobal_Skyscraper', [160, 600], 'doubleClickSkyscraperIndex-160-600').addService(googletag.pubads()); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

4
推荐指数
1
解决办法
5911
查看次数

语料库中的单词数量

我正在寻找一种方法来找到文本中最常用的单词,而我最常使用的是R.我的意思是它们的低频率是语料库中单词的1%.所以我需要计算语料库中的单词数量.

到目前为止,这是我的代码:

#!/usr/bin/Rscript
library('tm')
library('wordcloud')
library('RColorBrewer')
twittercorpus <- system.file("stream","~/txt", package = "tm")
twittercorpus <- Corpus(DirSource("~/txt"),
                        readerControl=list(languageEl = "en"))
twittercorpus <- tm_map(twittercorpus, removeNumbers)
twittercorpus <- tm_map(twittercorpus,tolower)
twittercorpus <- tm_map(twittercorpus,removePunctuation)
my_stopwords <- c(stopwords("SMART"))
twittercorpus <-tm_map(twittercorpus,removeWords,my_stopwords)
mydata.dtm <- TermDocumentMatrix(twittercorpus)
Run Code Online (Sandbox Code Playgroud)

我需要这样的东西:

freqmatrix <-findFreqTerms(mydata.dtm, lowfreq=rowSums(mydata.dtm)/100)
Run Code Online (Sandbox Code Playgroud)

r text-mining

4
推荐指数
1
解决办法
1527
查看次数

当函数重新定义自身时,原型会发生什么?

我在Stoyan Stefanov 的JavaScript Patterns一书中看到了以下代码(编辑以消除额外的脂肪):

function Universe() {
    var instance = this;
    Universe = function() {
        return instance;
    }
}

Universe.prototype.nothing = true;
var uni = new Universe();
Universe.prototype.everything = true;
var uni2 = new Universe();

uni.nothing;     // true
uni2.nothing;    // true, but I was expecting undefined
uni.everything;  // undefined
uni2.everything; // undefined, but I was expecting true
Run Code Online (Sandbox Code Playgroud)

我期望nothing被分配到原始函数的原型,并被everything分配给闭包的原型(因为第二次赋值在重新定义之后发生).然而,输出结果表明发生了奇怪的事情,而这本书并没有解释它.我也注意到:

  1. Universe.prototype 正如我所料,在重新定义函数后,它会指向不同的对象.
  2. 重新定义后创建的其他实例仍然将原始原型对象作为其原型__proto__.这就是我不明白的地方.

有人可以解释一下吗?

javascript prototype

4
推荐指数
1
解决办法
121
查看次数

如何从DOM事件中调用JavaScript类实例方法?

我有以下简单的JavaScript"类":

function Person(params) 
{
    this.name = params.name;
}
Person.prototype.SayHi = function()
{
    alert(this.name + " says hi");
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,这可以正常工作.运行以下代码给我一个弹出窗口,上面写着"Alice说嗨":

var alice = new Person({name:"Alice"});
alice.SayHi();
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将其分配给按钮事件时,它将无法工作:

$("#AliceOnClick").on("click", alice.SayHi);
$("#BobOnClick").on("click", bob.SayHi);
Run Code Online (Sandbox Code Playgroud)

看来该SayHi函数被调用,但该name字段为空.

最小的工作示例:

http://jsfiddle.net/AKHsc/1/

我究竟做错了什么?

javascript jquery

4
推荐指数
2
解决办法
1256
查看次数

按钮控制javascripts中的功能

我一直在制作简单的Javascript程序,我将为不同的网站为我的朋友运行,我一直在尝试使用按钮制作一个统治风格(使命召唤游戏模式)程序.我看过一个网站,并尝试使用设置的间隔,但我无法弄清楚如何让按钮访问脚本.

这是我的代码:

<!DOCTYPE html>
<html>
<body>
    <p id = "blue"></p>
    <p id = "red"></p>
    <button onclick="StartA()">Start for Red</button>
    <button onclick="StopA()">Stop for red</button>
    <button onclick="StartB()">Start for Blue</button>
    <button onclick="StopB()">Stop for Blue</button>
    <script>
    var startRed;
    var startBlue;
    var r=1;
    var b=1;
    var startA = function(){
        var startRed = setInterval(function(){redscore++};,3000)
    };
    var startB = function(){
        var startBlue = setInterval(function(){bluescore++};,3000)
    };
    var StopA = function(){
        clearInterval(startRed);
    }; 
    var StopB = function() {
        clearInterval(startBlue);
    };
    document.getElementById("blue").innerHTML=bluescore;
    document.getElementById("red").innerHTML=redscore;
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript html5

4
推荐指数
1
解决办法
98
查看次数